MCPcopy Create free account

hub / github.com/chyanju/picus / functions

Functions4,080 in github.com/chyanju/picus

↓ 3 callersFunctiont
`coeff * prod(vars)` as a `PolyTerm`, collapsing repeated name occurrences into `(VarIdx, exp)` pairs.
crates/picus-solver/src/cdclt/ff_theory_tests.rs:21
↓ 3 callersMethodto_smtlib
SMT-LIB-compatible textual form. `Silent` returns an empty string; other variants emit one or more lines matching the expected response shape.
crates/picus-solver/src/smt2/session.rs:612
↓ 3 callersFunctiontransform
( f: &Formula, var_names: &[String], atoms: &mut AtomTable, sat: &mut Solver, )
crates/picus-solver/src/cdclt/cnf.rs:51
↓ 3 callersFunctiontri_dfs_on_lex
Run the existing depth-first triangular search on a freshly-computed Lex Gröbner basis. The Lex order makes every internal node univariate in the smal
crates/picus-solver/src/gb/model.rs:418
↓ 3 callersFunctiontry_triangular_solve
Triangular model construction for a zero-dimensional ideal (cvc5 `multi_roots` style): solve variable-by-variable using univariate roots of the substi
crates/picus-solver/src/gb/model.rs:157
↓ 3 callersMethodx_name
Canonical name for the original-copy variable of wire `wire` (e.g. `x5`).
crates/picus-smt/src/poly_ir.rs:117
↓ 3 callersMethody_name
Canonical name for the alt-copy variable of wire `wire` (e.g. `y5`).
crates/picus-smt/src/poly_ir.rs:123
↓ 2 callersFunctionaboz_trap_r1cs
Synthetic ABOZ trap: with `sel = 0` the bilinear products vanish and the linear sum admits multiple `(y0, y1)` pairs.
crates/picus-analysis/tests/soundness.rs:61
↓ 2 callersMethodadd_bitsum
(&mut self, bits: Vec<VarIdx>)
crates/picus-solver/src/frontend/encoder/constraint_system.rs:159
↓ 2 callersMethodadd_generators
Reduce each generator by the current basis, then integrate it: drop zeros, collapse to the trivial ideal on a constant, otherwise generate its S-pairs
crates/picus-solver/src/ff/sparse_gb.rs:186
↓ 2 callersMethodadd_generators_observed
Observed variant of [`Self::add_generators`]: the supplied observer receives `on_initial_basis` / `on_new_poly` / `on_inter_reduce` callbacks during t
crates/picus-solver/src/ff/buchberger/incremental.rs:115
↓ 2 callersMethodadd_terms
Add a descending-sorted, nonzero-coefficient term list, cascading merges up through the buckets on overflow.
crates/picus-core/src/ff/sparse_geobucket.rs:132
↓ 2 callersMethodalt_var
Index of the `y_i` variable in the underlying ring.
crates/picus-smt/src/poly_ir.rs:97
↓ 2 callersFunctionapply_phase_save
Reorder a Brancher::Roots so the saved phase for a variable (if any) is moved to the back of the Vec, so Vec::pop tries it first.
crates/picus-solver/src/split_gb/search.rs:107
↓ 2 callersMethodarena
(&self)
crates/picus-solver/src/sat/solver.rs:510
↓ 2 callersMethodassert_disequality
Assert `a != b`.
crates/picus-solver/src/gb/incremental.rs:89
↓ 2 callersFunctionassert_fglm_in_source_ideal
Stronger: every FGLM output element must lie in the SOURCE DRL ideal. This catches a class of bug where FGLM emits a polynomial that happens to equal
crates/picus-solver/src/gb/fglm_tests.rs:255
↓ 2 callersFunctionassert_indexed_matches_geobucket
(n: usize)
crates/picus-core/src/ff/polynomial/tests.rs:141
↓ 2 callersFunctionassert_same_ideal
Mutual ideal-membership: ideals generated by `a_basis` and `b_basis` are equal. Each basis is RE-COMPUTED as a DRL GB (the ring's stored order) before
crates/picus-solver/src/gb/fglm_tests.rs:217
↓ 2 callersFunctionassert_trivial_iff_unit_in_gens
SPEC: if 1 ∈ I, both engines must produce {1} as the reduced GB.
crates/picus-solver/src/ff/f4/tests.rs:1771
↓ 2 callersFunctionassignment_poly
Build a polynomial of the form `x_var - val`.
crates/picus-solver/src/split_gb/search.rs:357
↓ 2 callersFunctionatom_to_node
( lhs: &[crate::frontend::encoder::PolyTerm], rhs: &[crate::frontend::encoder::PolyTerm], var_name
crates/picus-solver/src/cdclt/cnf.rs:71
↓ 2 callersMethodbasis_count
Total number of basis elements tracked (initial + derived).
crates/picus-solver/src/gb/tracer.rs:71
↓ 2 callersFunctionbigint
(val: &BigUint)
crates/picus-smt/src/backends/z3_nia.rs:131
↓ 2 callersFunctionbitsum_eq_const
k-bit bitsum pin: `b_0 + 2·b_1 + ... = v`.
crates/picus-solver/src/cdclt/orchestrator_tests.rs:1098
↓ 2 callersFunctionblock
(pairs: &[(u32, u32)])
crates/picus-analysis/tests/soundness.rs:19
↓ 2 callersFunctionbuild_ite_chain
(depth: usize, target: u64)
crates/picus-solver/tests/cdclt_vs_dnf_parity.rs:754
↓ 2 callersFunctionbuild_model
Build output model from assignment.
crates/picus-solver/src/gb/model.rs:463
↓ 2 callersFunctionbuild_part_map
Index every "part-shaped" equality (exactly one degree-2 monomial over two distinct variables, no higher degree, no square) by the canonical pair of i
crates/picus-analysis/src/propagation/basis2/compconstant.rs:148
↓ 2 callersFunctionbuild_poly_term
( tm: &'a cvc5_ff::TermManager, vars: &HashMap<String, cvc5_ff::Term<'a>>, ir: &PolyIR, poly:
crates/picus-smt/src/backends/cvc5_ff.rs:175
↓ 2 callersMethodbuild_spoly
Build the S-polynomial of `pair`: `(lcm/LT_i)·f_i − (lc_i/lc_j)·(lcm/LT_j)·f_j`, scaled so the two leading terms cancel.
crates/picus-solver/src/ff/buchberger/mod.rs:602
↓ 2 callersFunctionbuild_xor
`(xor b_1 ... b_n)`: True iff an odd number of the `b_i` are True. Built as a left-associative chain of binary `xor`.
crates/picus-solver/src/smt2/mod.rs:912
↓ 2 callersMethodbump_var_activity
(&mut self, v: Var)
crates/picus-solver/src/sat/solver.rs:131
↓ 2 callersFunctioncanon
Canonical reduced-GB fingerprint: interreduce (→ monic reduced GB, which is unique for a fixed order) then sort the per-polynomial hashes.
crates/picus-solver/src/ff/buchberger/gvw_tests.rs:27
↓ 2 callersFunctioncantor_zassenhaus
Cantor–Zassenhaus for the squarefree polynomial `poly`. Returns its irreducible factors (over GF(p), restricted to those involved in the linear part —
crates/picus-solver/src/ff/univariate.rs:434
↓ 2 callersFunctioncheck_circuit
Check uniqueness of output signals in an R1CS circuit from a file path. This is the main entry point for programmatic use. It reads the R1CS file, co
crates/picus/src/lib.rs:270
↓ 2 callersFunctioncheck_full_with_atoms
Build a ConstraintSystem from a `(atom, polarity)` fact trail against `atoms`, encode, dispatch to the GB solver, and map any returned UNSAT core back
crates/picus-solver/src/cdclt/ff_theory.rs:428
↓ 2 callersMethodcheck_with_timeout
Solve with a timeout duration.
crates/picus-solver/src/gb/incremental.rs:150
↓ 2 callersFunctionclassify_sort
Classify a sort s-expression as `Ff`, `Bool`, or unknown.
crates/picus-solver/src/smt2/mod.rs:90
↓ 2 callersFunctionclear_frobenius_cache_for_tests
()
crates/picus-solver/src/ff/univariate.rs:318
↓ 2 callersMethodclone_monomial
Clone a monomial. Accepts either `&Monomial` or `Monomial`.
crates/picus-core/src/poly.rs:165
↓ 2 callersMethodcmp
(&self, other: &Self)
crates/picus-solver/src/ff/f4/matrix.rs:125
↓ 2 callersMethodcmp_key
(&self)
crates/picus-solver/src/ff/spair.rs:70
↓ 2 callersMethodcoeff
Coefficient of `t^d`. Returns `0` for any `d` past the trailing nonzero term.
crates/picus-solver/src/ff/hilbert.rs:88
↓ 2 callersMethodcoeffs
(&self)
crates/picus-solver/src/ff/univariate.rs:41
↓ 2 callersFunctioncollect_bilinear_zero
Wire indices `(a, b)` for every equality of the form `c * x_a * x_b = 0`. Skips constraints that have any other terms beyond the single bilinear monom
crates/picus-analysis/src/propagation/aboz.rs:175
↓ 2 callersFunctioncompact_used_vars
Compact `system.var_names` to only the variables actually referenced by some equality, disequality, assignment, or bitsum. Returns a new `ConstraintSy
crates/picus-solver/src/frontend/encoder.rs:155
↓ 2 callersFunctioncompute_gb_buchberger
( poly_ring: &FfPolyRing, generators: Vec<Poly>, cancel: &CancelToken, order: FfOrder, )
crates/picus-solver/src/gb/ideal/engine.rs:388
↓ 2 callersFunctioncompute_gb_dispatch
( pr: &FfPolyRing, gens: Vec<Poly>, cancel: &CancelToken, order: FfOrder, tracer: Option<&
crates/picus-solver/src/gb/ideal/engine.rs:201
↓ 2 callersFunctioncompute_gb_with_order_traced
( poly_ring: &FfPolyRing, generators: Vec<Poly>, cancel: &CancelToken, order: FfOrder, tra
crates/picus-solver/src/gb/ideal/engine.rs:545
↓ 2 callersFunctioncompute_tier1_for
Free-function port of `FfTheory::compute_tier1`.
crates/picus-solver/src/cdclt/ff_theory.rs:149
↓ 2 callersFunctioncompute_tier2_for
Free-function port of `FfTheory::compute_tier2`.
crates/picus-solver/src/cdclt/ff_theory.rs:199
↓ 2 callersFunctionconstraint_to_poly
Lower one R1CS constraint `A * B = C` into a polynomial equality `expand(A) * expand(B) - expand(C) = 0` in the given copy. Returns `Ok(None)` when th
crates/picus-smt/src/poly_ir.rs:328
↓ 2 callersMethodcontains_with_cancel
Cancel-aware membership test. On cancel returns the value computed from a partial reduction, which may falsely report "not in I" if cancellation inter
crates/picus-solver/src/gb/ideal.rs:192
↓ 2 callersFunctioncyclic_n
`cyclic-N`: the N-variable cyclic ideal. Classical GB benchmark known to produce many same-sugar batches and a large basis.
crates/picus-solver/tests/bench_perf.rs:216
↓ 2 callersMethoddecide
Decide a fresh literal: open a new decision level and enqueue `lit` as a decision (no reason). Returns `false` when the literal is already assigned to
crates/picus-solver/src/sat/solver.rs:370
↓ 2 callersFunctiondegrevlex_to_lex
Convert a DegRevLex Gröbner basis to a Lex GB for model extraction. Uses FGLM order conversion ([`crate::gb::fglm`]) when the ideal is zero-dimension
crates/picus-solver/src/gb/mod.rs:159
↓ 2 callersFunctiondiff_systems_dense
Hand-built differential bank. Each closure returns a generator list spec'd by mathematical structure — never read back from engine output. Property: F
crates/picus-solver/src/ff/f4/tests.rs:1638
↓ 2 callersMethoddnf
Compute (or return the cached) DNF expansion of `self.formula`. May allocate `O(3^k)` literal containers for k-CNF inputs.
crates/picus-solver/src/boolean.rs:199
↓ 2 callersFunctiondummy_header
()
crates/picus-r1cs/src/grammar_tests.rs:12
↓ 2 callersFunctiondump_gb_stats
Write the accumulated split-GB / DFS counters to stderr (if `engine.gb_stats_enabled` was set during a previous `check_r1cs` call).
crates/picus/src/lib.rs:353
↓ 2 callersFunctiondump_profile
Write the accumulated per-site wall-clock profile to stderr (if `engine.profile_enabled` was set during a previous `check_r1cs` call). `tag` is a free
crates/picus/src/lib.rs:347
↓ 2 callersFunctionechelonize_no_prov
Convenience: echelonize without provenance tracking.
crates/picus-core/src/ff/linalg.rs:122
↓ 2 callersMethodemit_zero_product
Push the zero-product disjunction `(var_s = 0) ∨ (var_o = 0)` for both the original and alt copies, deduplicating on `(s, o)` so fixed-point re-runs d
crates/picus-analysis/src/propagation/aboz.rs:147
↓ 2 callersFunctionencode_named
(s: &NamedSystem)
crates/picus-solver/benches/solver_bench.rs:83
↓ 2 callersMethodensure_slot
Ensure the union-find has a slot for `v`. Returns its initial rep (itself).
crates/picus-solver/src/cdclt/equality_engine.rs:107
↓ 2 callersFunctionenumerate_std_monomials_count
Brute-force enumeration of standard monomials of the monomial ideal `gens`: any exponent vector with total degree ≤ `max_deg` that is NOT divisible by
crates/picus-solver/src/ff/hilbert_tests.rs:220
↓ 2 callersMethodeq
(&self, other: &Self)
crates/picus-solver/src/gb/fglm.rs:38
↓ 2 callersMethodeval
Evaluate a single command. Returns `Silent` for `(exit)`; script-termination on `(exit)` is enforced by [`SmtSession::eval_script`] rather than this m
crates/picus-solver/src/smt2/session.rs:146
↓ 2 callersFunctioneval_poly_core
Helper: evaluate a polynomial at a point. Local copy so we don't pollute the public API. Identical math to `split_gb::tests::eval_poly`.
crates/picus-solver/src/core_tests.rs:696
↓ 2 callersMethodexit_expansion
(&mut self)
crates/picus-solver/src/smt2/mod.rs:633
↓ 2 callersMethodexpand_macro
Resolve a macro call by alpha-substituting arguments into the body.
crates/picus-solver/src/smt2/mod.rs:645
↓ 2 callersFunctionexpected_pairs
The set of `(name, theory)` backends expected under the current feature configuration. Always includes `(native, Ff)`; cvc5 and z3 entries are gated b
crates/picus-smt/tests/backend_plugin.rs:12
↓ 2 callersMethodextend_with_cancel
Extend an existing ideal by adding new generators incrementally. Reuses the existing reduced GB and runs incremental Buchberger seeded with the exist
crates/picus-solver/src/gb/ideal.rs:81
↓ 2 callersMethodextend_with_cancel_traced
Traced variant of `extend_with_cancel`. Feeds Buchberger observer events to the supplied `tracer`, which must be sized for at least `self.basis.len()
crates/picus-solver/src/gb/ideal.rs:134
↓ 2 callersMethodfinalize_basis
(self)
crates/picus-solver/src/ff/buchberger/mod.rs:1059
↓ 2 callersFunctionfind_roots_checked
Like [`find_roots`], but also reports whether root finding was complete**. Returns `(roots, complete)`: `complete == true` — every root of `poly` in
crates/picus-solver/src/ff/univariate.rs:470
↓ 2 callersFunctionfind_sum_var
Find the signal `S` defined by `S = Σ part_outs` (each part output appears with one shared coefficient `−k`, `S` with `+k`, no other terms). Returns t
crates/picus-analysis/src/propagation/basis2/compconstant.rs:288
↓ 2 callersFunctionfind_trivial_element
Find the index of a nonzero constant in the basis, if any.
crates/picus-solver/src/gb/mod.rs:180
↓ 2 callersFunctionfirst_eq
Now extract the formula's literal `Eq` polynomial pair and semantically compare under every x value.
crates/picus-solver/src/smt2/tests_property.rs:692
↓ 2 callersFunctionfirst_equality_index
First polynomial index in `encoded` whose provenance is an `Equality(_)`.
crates/picus-solver/src/cdclt/ff_theory_tests.rs:891
↓ 2 callersMethodgave_up
`true` iff a theory-conflict resolution bailed out (see [`Self::give_up`]). Callers must treat this as Unknown, not UNSAT.
crates/picus-solver/src/sat/solver.rs:586
↓ 2 callersMethodget_or_create_slot
Returns the ring slot for `name`, claiming a new slot if it is the first appearance. If `add_field_polys` is set, pushes the field polynomial `x^p − x
crates/picus-solver/src/cdclt/ff_theory_incremental.rs:217
↓ 2 callersMethodget_value
Get the value of a term in the current model.
crates/cvc5-ff/src/solver.rs:294
↓ 2 callersFunctiongf2
()
crates/picus-solver/src/ff/univariate_tests.rs:156
↓ 2 callersMethodgrow_to
(&mut self, v: Var)
crates/picus-solver/src/cdclt/atoms.rs:327
↓ 2 callersFunctionhash_constraint_side
(cs: &crate::frontend::encoder::ConstraintSystem, domain: u64)
crates/picus-solver/src/incremental_context.rs:699
↓ 2 callersMethodheap_insert
(&mut self, v: Var)
crates/picus-solver/src/sat/solver.rs:145
↓ 2 callersMethodheap_percolate_down
Sift element at index `i` down while a child has higher activity.
crates/picus-solver/src/sat/solver.rs:189
↓ 2 callersMethodheap_percolate_up
(&mut self, mut i: usize)
crates/picus-solver/src/sat/solver.rs:171
↓ 2 callersMethodhomogenize
Homogenize a *lifted* polynomial in `Ph` (where the `h` exponent is currently 0 in every term) by raising it to its top total degree. For every term
crates/picus-solver/src/gb/homog_ring.rs:90
↓ 2 callersFunctionidx_term
(coeff: u64, vars: &[(VarIdx, u16)])
crates/picus-solver/src/frontend/encoder_tests_spec.rs:13
↓ 2 callersMethodindeterminate
Single-variable monomial of degree 1.
crates/picus-core/src/poly.rs:135
↓ 2 callersMethodindex
(self)
crates/picus-solver/src/sat/clause.rs:10
↓ 2 callersMethodinteger_sort
Get the Integer sort.
crates/cvc5-ff/src/term_manager.rs:47
↓ 2 callersMethodintegrate
Push a new (already monic, non-constant) polynomial into the basis: generate its pairs against the active basis first (so pairs against soon-to-be-dea
crates/picus-solver/src/ff/sparse_gb.rs:218
↓ 2 callersMethodinto_basis
The active basis (a Gröbner basis, not yet inter-reduced), or `{1}` when the ideal is the whole ring.
crates/picus-solver/src/ff/sparse_gb.rs:301
↓ 2 callersFunctionir_with_benign_disjunction
Lower the GF(7) system, target wire 2, and inject a benign always-true disjunction `(x0 = 1) ∨ (x2 = 5)`. Wire 0 is pinned to 1, so the clause holds u
crates/picus-smt/tests/multi_prime.rs:158
↓ 2 callersMethodis_bit
Test whether `var` is bit-constrained: either it is a globally asserted bit (`self.bits`, populated from user `x*(x-1)=0` constraints) or some basis i
crates/picus-solver/src/frontend/bitprop.rs:89
↓ 2 callersMethodis_exhaustive
Whether exhausting this brancher constitutes a proof that no extension exists. `Roots` is always exhaustive (we computed every root over F_p); `Round
crates/picus-solver/src/gb/brancher.rs:81
← previousnext →701–800 of 4,080, ranked by callers