building quotient from ideal to make it more explicit

This commit is contained in:
2026-04-27 23:29:03 +02:00
parent 3fbd7e3773
commit 0c4bddf3b0
2 changed files with 8 additions and 19 deletions

View File

@@ -3,19 +3,20 @@ use std::rc::Rc;
use circuit_cas::circuit::dag::CircuitExt;
use circuit_cas::circuit::quotient::QuotientCircuit;
use circuit_cas::circuit::traits::Circuit;
use circuit_cas::poly::ideal::{Generators, Ideal};
use circuit_cas::var;
fn main() {
let x = var!("x");
let nx = var!("x\u{0304}");
let idem = vec![
let idem: Ideal<_, Generators> = vec![
1 * (&x ^ 2) - 1 * (&x ^ 1),
1 * (&nx ^ 2) - 1 * (&nx ^ 1),
1 * ((&x ^ 1) * (&nx ^ 1)) - 1 * (&x ^ 1),
];
].into();
let quotient: Rc<RefCell<QuotientCircuit>> = idem.into_iter().collect();
let quotient: Rc<RefCell<QuotientCircuit>> = idem.into();
// Build x * x̄ + x in the DAG
let xn = quotient.var("x");