MCPcopy Create free account

hub / github.com/chyanju/picus / functions

Functions4,080 in github.com/chyanju/picus

↓ 10 callersMethodsub
(&self, a: &FieldElem, b: &FieldElem)
crates/picus-core/src/ff/field.rs:415
↓ 10 callersFunctiontiny_r1cs
Minimal R1CS with a single trivial constraint, used to obtain a valid PolyIR with the requested wire count and prime so we can test the companion reco
crates/picus-analysis/src/propagation/basis2/compconstant_tests.rs:47
↓ 10 callersFunctionunique_lt_divisors
Reuse-friendly samples: a Gröbner-basis-shaped (unique-LT-divides) set.
crates/picus-core/src/ff/polynomial/dense_reduce_tests.rs:48
↓ 10 callersFunctionunwrap_dense_vec
Unwrap a vector of solve-core `Poly` to the dense `DensePoly` the Gröbner engine consumes. On the dense path every element is already the `Dense` arm;
crates/picus-solver/src/gb/ideal/engine.rs:301
↓ 10 callersFunctionvals
Build a fresh `RangeValue::Values` containing the given small values.
crates/picus-analysis/src/propagation/aboz_tests.rs:94
↓ 10 callersFunctionx
(n_vars: usize, var: usize, exp: u16)
crates/picus-solver/src/ff/hilbert_tests.rs:3
↓ 9 callersFunctionaboz_shape_r1cs
GF(7) ABOZ-shape system mirroring the prose: sel*y0 = 0, sel*y1 = 0, (y0 + sel + c_extra + y1)*1 = 0 Wires: 0 = one, 1 = y0 (output), 2 = sel (input
crates/picus-analysis/src/propagation/aboz_tests.rs:48
↓ 9 callersFunctionbit_sums
Detect bitsums in a polynomial. Given `p`, look for a sub-sum of the form `coeff * (b_0 + 2*b_1 + ... + 2^k * b_k)` where the `b_i` are distinct lin
crates/picus-solver/src/frontend/parse.rs:258
↓ 9 callersMethodcompute_from_slice
(&self, exps: &[u16])
crates/picus-core/src/ff/divmask.rs:76
↓ 9 callersFunctioncompute_gb_by_homog
( pr: &FfPolyRing, gens: Vec<Poly>, cancel: &CancelToken, )
crates/picus-solver/src/gb/gb_homog.rs:41
↓ 9 callersMethoddecision_level
Current decision level (0 = root).
crates/picus-solver/src/sat/solver.rs:272
↓ 9 callersFunctiondrive_loop
Drive `cdclt_loop` over a hand-built SAT instance with `th`. Mirrors `solve_formula`'s loop call so the loop's own branches are exercised without rout
crates/picus-solver/src/cdclt/orchestrator_tests.rs:378
↓ 9 callersFunctionfind_roots
Find all roots of a univariate polynomial over GF(p). `coeffs[i]` is the coefficient of x^i.
crates/picus-solver/src/gb/roots.rs:18
↓ 9 callersMethodfrom_i64
Map a signed integer into the field (negatives become `p - |v|`).
crates/picus-core/src/ff/field.rs:331
↓ 9 callersMethodleading_coefficient
(&self)
crates/picus-core/src/ff/polynomial.rs:195
↓ 9 callersFunctionlin
Build a linear polynomial `c · x_var` from a BigUint coefficient.
crates/picus-analysis/src/propagation/basis2/compconstant_tests.rs:457
↓ 9 callersMethodneg
(&self, field: &PrimeField)
crates/picus-solver/src/ff/univariate.rs:103
↓ 9 callersFunctionneg_poly
(p: &Polynomial, prime: &BigUint)
crates/picus-solver/src/smt2/mod.rs:158
↓ 9 callersMethodpinned_vars
`var_name -> (value, source_atom)` from positive single-variable equalities on the trail.
crates/picus-solver/src/cdclt/ff_theory.rs:79
↓ 9 callersMethodpop
Roll back to the most recent push. Polarities and witnesses asserted since are reverted; union-find structure is not (atom registration is monotonic a
crates/picus-solver/src/cdclt/equality_engine.rs:223
↓ 9 callersMethodptr
(&self)
crates/cvc5-ff/src/parser.rs:78
↓ 9 callersMethodraw_exponents
(&self)
crates/picus-core/src/ff/polynomial.rs:664
↓ 9 callersMethodraw_total_degs
(&self)
crates/picus-core/src/ff/polynomial.rs:668
↓ 9 callersMethodrebuild_base
Build the cache via the fast path ([`split_gb_cancel`]). On cancellation, save a `PartialBuild` so the next solve call with matching digest can resume
crates/picus-solver/src/incremental_context.rs:164
↓ 9 callersFunctionring2
()
crates/picus-solver/src/split_gb/search_tests.rs:13
↓ 9 callersFunctionsparse_reduced_gb
Helper: compute the reduced sparse GB.
crates/picus-solver/src/ff/sparse_gb_tests.rs:799
↓ 9 callersFunctionsplit_find_zero_cancel
Cancel-aware model search. Returns `Sat / Unsat / Unknown` on success; `Err(Cancelled)` on timeout.
crates/picus-solver/src/split_gb/mod.rs:271
↓ 9 callersFunctionsplit_gb_extend_cancel
( poly_ring: &'r FfPolyRing, starting: SplitGb<'r>, new_polys: Vec<Vec<Poly>>, bit_prop: &mut
crates/picus-solver/src/split_gb/fixpoint.rs:79
↓ 9 callersFunctionwrap_dense_vec
Wrap dense engine output back into solve-core `Poly`.
crates/picus-solver/src/gb/ideal/engine.rs:311
↓ 8 callersMethodadd_assign
(&self, a: &mut FieldElem, b: B)
crates/picus-core/src/ff/field.rs:390
↓ 8 callersFunctionall_backend_descriptors
Iterate every backend descriptor registered via `inventory`. Stable order by `(name, theory)` for reproducible dispatch.
crates/picus-smt/src/backends/mod.rs:119
↓ 8 callersMethodapply_overlay
Merge the `Some` fields of `o` onto `self`; `None` fields are left untouched. Enum-valued fields arrive as strings (matching the CLI and TOML surface)
crates/picus-analysis/src/dpvl.rs:190
↓ 8 callersFunctionapply_rule
Apply branching rule on a single basis. (1) if `gb` has a univariate polynomial in some unassigned variable, enumerate its roots over GF(p); (2) if `
crates/picus-solver/src/split_gb/branching.rs:29
↓ 8 callersMethodas_biguint
Convert to `BigUint`. Allocates.
crates/picus-core/src/ff/field.rs:74
↓ 8 callersMethodas_single_var_eq
If this atom canonically pins one variable to a specific field constant (i.e. `a·x + c = 0` with `a ≠ 0` and `x` a single degree-1 variable), return `
crates/picus-solver/src/cdclt/atoms.rs:128
↓ 8 callersFunctionassemble
Assemble a 3-section R1CS (types 1/2/3) from raw payloads.
crates/picus-r1cs/src/parser_tests.rs:77
↓ 8 callersFunctionbitsum_fits
Whether a `len`-bit unsigned bitsum embeds into GF(p) without mod-p aliasing: needs `2^len <= p`, so distinct bit patterns have distinct residues. Whe
crates/picus-solver/src/frontend/encoder/bitsum_extract.rs:26
↓ 8 callersFunctionclassify_declare
Extract `(name, sort, inferred prime)` from a `declare-fun` / `declare-const` form: `name` is the declared symbol, `sort` its classified sort (`None`
crates/picus-solver/src/smt2/mod.rs:131
↓ 8 callersFunctioncollect_ff_literal_primes
Collect the modulus P from every `#fNmP` literal in `s` (recursively). Used by the pre-scan to infer the session prime when no FF sort declaration is
crates/picus-solver/src/smt2/mod.rs:251
↓ 8 callersFunctioncompute_gb_with_timeout_traced
Like [`compute_gb_with_timeout`], but with UNSAT core tracing enabled. When the DegRevLex phase produces a trivial basis (UNSAT), the tracer is used
crates/picus-solver/src/gb/mod.rs:97
↓ 8 callersFunctionconn
(pairs: &[(usize, usize)])
crates/picus-analysis/src/selector_tests.rs:25
↓ 8 callersFunctioncontinue_partial
Resume a partial build. Re-attaches the new cancel token to all in-flight `IncrementalGB`s, runs the fixpoint loop. On completion, produces a `CachedB
crates/picus-solver/src/incremental_context.rs:272
↓ 8 callersFunctioncreate_backend_by_name
Look up a backend by `(name, theory)`. Returns the factory's freshly-built instance, or `None` if no descriptor matches.
crates/picus-smt/src/backends/mod.rs:135
↓ 8 callersFunctioneval_poly
Independent polynomial evaluator: maps every (idx -> value) and returns `sum_i coeff_i * prod_j x_j^e_j (mod prime)`. Pure math — used as the referen
crates/picus-solver/src/smt2/tests_property.rs:36
↓ 8 callersMethodfresh_disequality_vars
Introduce the witness pair for encoding `lhs != 0`: a fresh `__diseq_d_{seq}` variable `d` (the caller then constrains `d = lhs` via [`Self::add_equal
crates/picus-solver/src/frontend/encoder/constraint_system.rs:136
↓ 8 callersMethodint_hom
(&self)
crates/picus-core/src/ff/field.rs:732
↓ 8 callersMethodis_positive
(self)
crates/picus-solver/src/sat/lit.rs:39
↓ 8 callersMethodis_zero_dim
Returns `true` iff `R/I` is a finite-dimensional `K`-vector space.
crates/picus-solver/src/gb/ideal.rs:202
↓ 8 callersFunctionlit_eq
Build a Lit::Eq for `coeff * <var_idx> == rhs_const`.
crates/picus-solver/src/boolean_tests.rs:22
↓ 8 callersFunctionmake_ir
(p: BigUint, n_wires: usize)
crates/picus-smt/src/backends/tests.rs:103
↓ 8 callersMethodmk_const
Create a named constant (free variable) of the given sort.
crates/cvc5-ff/src/term_manager.rs:433
↓ 8 callersFunctionmono
(exps: Vec<u16>)
crates/picus-solver/src/ff/f4/matrix_tests.rs:15
↓ 8 callersFunctionnames
(ns: &[&str])
crates/picus-solver/src/cdclt/cnf_tests.rs:25
↓ 8 callersMethodneg
(&self, a: Poly)
crates/picus-core/src/poly.rs:81
↓ 8 callersMethodnegate
(&self, a: FieldElem)
crates/picus-core/src/ff/field.rs:707
↓ 8 callersMethodnnf
Push negations to the leaves (negation-normal form). Negated literals flip `Eq`↔`Neq`.
crates/picus-solver/src/boolean.rs:51
↓ 8 callersMethodone
(&self)
crates/picus-core/src/poly.rs:76
↓ 8 callersMethodperform_restart
Backtrack to level 0 and bump the next Luby restart threshold. Callers in CDCL(T) must also pop any theory-level state down to match the new decision
crates/picus-solver/src/sat/solver.rs:237
↓ 8 callersFunctionpr_dense
(n_vars: usize)
crates/picus-core/src/poly_tests.rs:47
↓ 8 callersFunctionpt
Index-keyed term constructor for tests. `idx_vars` is a list of `(VarIdx, exp)` pairs.
crates/picus-solver/src/cdclt/atoms_tests.rs:6
↓ 8 callersFunctionr1cs
Build an R1CS over GF(`p`) with `n_wires` total wires, the given constraints, and the listed `inputs` (must include wire 0).
crates/picus-analysis/src/propagation/basis2_tests.rs:48
↓ 8 callersFunctionrand_exps
(rng: &mut Rng)
crates/picus-solver/src/ff/repr_oracle.rs:54
↓ 8 callersMethodreduce_by_refs_counted
Non-cancel-aware version of [`Self::reduce_by_refs_counted_cancel`].
crates/picus-core/src/ff/polynomial/dense_reduce.rs:89
↓ 8 callersMethodreduce_by_refs_naive
Reference multivariate division: keep the partially-reduced polynomial in one descending-sorted vector, cancelling the leading term against the first
crates/picus-core/src/ff/sparse_polynomial.rs:288
↓ 8 callersFunctionring1
()
crates/picus-solver/src/split_gb/search_tests.rs:9
↓ 8 callersFunctionring_p
Polynomial ring builder for prime `p` and `n_vars` variables.
crates/picus-solver/src/ff/f4/tests.rs:1445
↓ 8 callersMethodscale
Multiply polynomial by a scalar.
crates/picus-core/src/poly.rs:86
↓ 8 callersMethodseed_with_reduced_basis
Seed the Buchberger state with polynomials that are already a reduced GB under [`Self.ring`]'s monomial order. Bypasses S-pair generation: an already-
crates/picus-solver/src/ff/buchberger/mod.rs:398
↓ 8 callersFunctionsmall_mul
(a: u64, b: u64, p: u64)
crates/picus-core/src/ff/field.rs:757
↓ 8 callersFunctionvals
(items: &[u32])
crates/picus-analysis/src/propagation/range_tests.rs:20
↓ 7 callersFunctionadd_polys
(a: Polynomial, b: Polynomial)
crates/picus-solver/src/smt2/mod.rs:171
↓ 7 callersFunctionassert_gens_in_ideal
Spec of ideal-membership: each input generator reduces to zero modulo any GB of the ideal it generates (Buchberger).
crates/picus-solver/src/ff/f4/tests.rs:1477
↓ 7 callersMethodassign_var
Register that the SAT variable `var` belongs to the prime at `slot_idx`. A [`Theory::notify_fact`] for a `var` without prior registration trips the `d
crates/picus-solver/src/cdclt/multi_prime.rs:98
↓ 7 callersFunctionb_criterion_kill
Buchberger B-criterion. Walks `pairs` (the currently-pending S-pair queue) and erases every pair that the newly-added basis element's leading term `ne
crates/picus-solver/src/ff/spair_criteria.rs:127
↓ 7 callersFunctionbasis2_r1cs
Build an R1CS encoding `(b0 + 2 b1 + ... + 2^{k-1} b_{k-1}) * 1 = target` together with `b_i (b_i - 1) = 0` for every bit. Wire 0 is the one-wire; bi
crates/picus-analysis/src/propagation/basis2_tests.rs:80
↓ 7 callersMethodcollect_model
(&self)
crates/picus-solver/src/cdclt/ff_theory.rs:414
↓ 7 callersFunctioncreate_backend
Create the appropriate solver backend for a solver+theory combination. Returns `None` for `SolverKind::None` (propagation-only mode). Dispatch is via
crates/picus-smt/src/lib.rs:124
↓ 7 callersMethodcreate_term
Build a polynomial holding a single term `coeff * monomial`.
crates/picus-core/src/poly.rs:121
↓ 7 callersFunctiondense_to_map
(p: &DensePoly, r: &PolyRing)
crates/picus-solver/src/ff/repr_oracle.rs:259
↓ 7 callersMethoddump_smt
(&self, ir: &PolyIR)
crates/picus-smt/src/backends/z3_nia.rs:104
↓ 7 callersFunctionempty_ir
(p: BigUint, n_wires: usize, inputs: Vec<usize>, target: usize)
crates/picus-smt/src/backends/native_ff_tests.rs:55
↓ 7 callersFunctionencode_impl
( system: &ConstraintSystem, emit_rabinowitsch: bool, )
crates/picus-solver/src/frontend/encoder.rs:278
↓ 7 callersMethodexponents
(&self)
crates/picus-core/src/ff/polynomial.rs:371
↓ 7 callersFunctionfind_roots
Find all roots of `poly` in GF(p). Returns an empty vector if `poly` is the zero polynomial (every element is a root, which is not a useful answer; ca
crates/picus-solver/src/ff/univariate.rs:451
↓ 7 callersFunctionfind_roots_checked
(field: &PrimeField, coeffs: &[FieldElem])
crates/picus-solver/src/gb/roots.rs:28
↓ 7 callersFunctionfind_zero
Try to find a common zero of the polynomials that generated `initial_gb`. At each branch `x - val` is added to the generators and the GB is recompute
crates/picus-solver/src/gb/model.rs:43
↓ 7 callersMethodget_bit_equalities_with_cancel
( &self, split_basis: &[Ideal<'r>], cancel: Option<&CancelToken>, )
crates/picus-solver/src/frontend/bitprop.rs:116
↓ 7 callersFunctiongroebner_basis_incremental
Incrementally extend a reduced Gröbner basis `known_gb` with `new_gens`: seed the engine with `known_gb` (pair-free) and run Buchberger only on the cr
crates/picus-solver/src/ff/sparse_gb.rs:336
↓ 7 callersFunctionheader_payload
Header payload with prime 7 and the given wire/IO counts.
crates/picus-r1cs/src/parser_tests.rs:90
↓ 7 callersFunctionlast_verdict
(out: &[SessionOutput])
crates/picus-solver/src/smt2/session_tests.rs:12
↓ 7 callersMethodlearn_clause
Add a learnt clause and enqueue its asserting literal (`lits[0]`). Assumes the solver has already backtracked to the asserting level (i.e. all literal
crates/picus-solver/src/sat/solver.rs:849
↓ 7 callersMethodlit_value
Value of a literal under the current assignment.
crates/picus-solver/src/sat/solver.rs:282
↓ 7 callersFunctionmono
(exps: &[u16])
crates/picus-solver/src/ff/buchberger/signature_tests.rs:4
↓ 7 callersMethodmul
(&self, other: &Self, field: &PrimeField)
crates/picus-solver/src/ff/univariate.rs:108
↓ 7 callersMethodon_initial_basis
(&mut self, _idx: usize, _poly: &DensePoly)
crates/picus-solver/src/gb/tracer.rs:84
↓ 7 callersFunctionparse_boolean_multi
Parse an SMT-LIB v2 query with one or more `(_ FiniteField p)` sorts. Returns a `Vec<BooleanQuery>` with one entry per declared prime, in ascending p
crates/picus-solver/src/smt2/mod.rs:1306
↓ 7 callersMethodpoly_terms
Iterate every term of `poly` as `(coeff, monomial_vars)`, where `monomial_vars` is a flat `Vec<String>` listing each variable's canonical name once pe
crates/picus-smt/src/poly_ir.rs:183
↓ 7 callersMethodpop
(&mut self)
crates/picus-solver/src/smt2/session.rs:335
↓ 7 callersMethodprime
(&self)
crates/picus-solver/src/frontend/encoder/constraint_system.rs:108
↓ 7 callersMethodraw_coeffs
(&self)
crates/picus-core/src/ff/polynomial.rs:666
← previousnext →301–400 of 4,080, ranked by callers