Skip to main content

Module set_algebra

Module set_algebra 

Source
Expand description

Set algebra on the DRAM plane — the COMPLETE finite set algebra over BITSET-encoded sets, lowered to DRAM dataflow kernels. A set over a bounded universe is a bit vector (a row): membership of element i is bit i. Over that encoding the set algebra IS the bitwise algebra —

intersection ∩ = AND union ∪ = OR difference \ = AND-NOT symmetric difference △ = XOR complement (¬) = NOT (within the universe)

— so each set op lowers to a DramDataflow kernel built from the DRAM basis {And, Or, Not}, and is proven ≡ its set-theoretic reference. The VM’s first-class set ops — IntersectOp/UnionOp — are recognized directly; difference / symmetric_difference / complement are provided as proven kernels (the VM currently represents those via the AOT set-method path, not a VM ISA op).

Enums§

SetOp
A finite set operation over bitset-encoded sets.

Functions§

lower
Lower a set op to a DRAM dataflow kernel over operand rows a (and b for binary ops; b is ignored for Complement). Returns the result row index. Built entirely from the DRAM basis.
recognize
Recognize a VM ISA op as a set operation, if it is one. IntersectOp/UnionOp are the VM’s first-class set ops; difference / symmetric_difference / complement have no VM ISA op yet (the AOT tier emits them as IndexSet methods), so they are not recognized from a VM program — but their kernels below are proven and ready to dispatch once those ops become first-class.
reference
The set-theoretic reference over bitset rows — the universe is the full row width (!0 per word).