Semantic influence paths in De Morgan programs #
When changing one input changes a charged gate, some first charged reader of that input also changes and feeds the gate through the contracted charged graph. This is the semantic cut lemma used by XOR gate elimination.
Evaluate an initial charged gate through its two named argument wires.
Equal contracted argument values force an initial charged gate to agree.
A charged path that starts at a direct reader whose value changes between two assignments. The difference proof is stored only at the first gate; later gates are connected structurally.
- direct {n g : ℕ} {program : Program signature n g} {selected : Fin n} {left right : Fin n → Bool} {gate : Fin g} : ReadsInput program gate selected → program.gateFunction interpretation gate left ≠ program.gateFunction interpretation gate right → DifferingPath program selected left right gate
- step {n g : ℕ} {program : Program signature n g} {selected : Fin n} {left right : Fin n → Bool} {source target : Fin g} : DifferingPath program selected left right source → UsesGate program source target → DifferingPath program selected left right target
Instances For
Extend a differing path through an appended program gate.
Expose the first differing direct reader on a differing path.
If two assignments differ only at selected and a charged gate distinguishes
them, there is a differing path from a direct reader of selected to that gate.