Logic #
Difference logic / linearity / transcendental numbers.
- diff : Kind
Only permits difference logic (implies linear).
- nonDiff
(linear transcendental : Bool)
: Kind
Arithmetic.
linear: only allows linear terms if true, allows non-linear terms if false.transcendental: (dis)allows non-algebraic numbers (wikipedia).
Instances For
Instances For
Equations
- Cvc.Logic.Arith.Kind.diff.setNonDiff = Cvc.Logic.Arith.Kind.nonDiff true false
- (Cvc.Logic.Arith.Kind.nonDiff linear transcendental).setNonDiff = Cvc.Logic.Arith.Kind.nonDiff linear transcendental
Instances For
Equations
Instances For
Equations
Instances For
Instances For
Gives the I, R, or IR part of the logic, e.g. IR in LIRA.
Equations
Instances For
Equations
- Cvc.Logic.Arith.simplest = { kind := Cvc.Logic.Arith.Kind.simplest, intReal := Cvc.Logic.Arith.IntReal.simplest }
Instances For
Equations
- self.setNonDiff = { kind := self.kind.setNonDiff, intReal := self.intReal }
Instances For
Equations
- self.setNonLinear = { kind := self.kind.setNonLinear, intReal := self.intReal }
Instances For
Equations
- self.setTranscendental = { kind := self.kind.setTranscendental, intReal := self.intReal }
Instances For
Generates the arithmetic part of an SMT-LIB logic, e.g. NIRA.
Equations
- One or more equations did not get rendered due to their size.
Instances For
LIA.
Equations
- Cvc.Logic.Arith.lia = { kind := Cvc.Logic.Arith.Kind.nonDiff true false, intReal := Cvc.Logic.Arith.IntReal.int }
Instances For
LRA.
Equations
- Cvc.Logic.Arith.lra = { kind := Cvc.Logic.Arith.Kind.nonDiff true false, intReal := Cvc.Logic.Arith.IntReal.real }
Instances For
LIRA.
Equations
- Cvc.Logic.Arith.lira = { kind := Cvc.Logic.Arith.Kind.nonDiff true false, intReal := Cvc.Logic.Arith.IntReal.both }
Instances For
NIA.
Equations
- Cvc.Logic.Arith.nia = { kind := Cvc.Logic.Arith.Kind.nonDiff false false, intReal := Cvc.Logic.Arith.IntReal.int }
Instances For
NRA.
Equations
- Cvc.Logic.Arith.nra = { kind := Cvc.Logic.Arith.Kind.nonDiff false false, intReal := Cvc.Logic.Arith.IntReal.real }
Instances For
NIRA.
Equations
- Cvc.Logic.Arith.nira = { kind := Cvc.Logic.Arith.Kind.nonDiff false false, intReal := Cvc.Logic.Arith.IntReal.both }
Instances For
LIAT.
Equations
- Cvc.Logic.Arith.liat = { kind := Cvc.Logic.Arith.Kind.nonDiff true true, intReal := Cvc.Logic.Arith.IntReal.int }
Instances For
LRAT.
Equations
- Cvc.Logic.Arith.lrat = { kind := Cvc.Logic.Arith.Kind.nonDiff true true, intReal := Cvc.Logic.Arith.IntReal.real }
Instances For
LIRAT.
Equations
- Cvc.Logic.Arith.lirat = { kind := Cvc.Logic.Arith.Kind.nonDiff true true, intReal := Cvc.Logic.Arith.IntReal.both }
Instances For
NIAT.
Equations
- Cvc.Logic.Arith.niat = { kind := Cvc.Logic.Arith.Kind.nonDiff false true, intReal := Cvc.Logic.Arith.IntReal.int }
Instances For
NRAT.
Equations
- Cvc.Logic.Arith.nrat = { kind := Cvc.Logic.Arith.Kind.nonDiff false true, intReal := Cvc.Logic.Arith.IntReal.real }
Instances For
NIRAT.
Equations
- Cvc.Logic.Arith.nirat = { kind := Cvc.Logic.Arith.Kind.nonDiff false true, intReal := Cvc.Logic.Arith.IntReal.both }
Instances For
IDL.
Equations
- Cvc.Logic.Arith.idl = { kind := Cvc.Logic.Arith.Kind.diff, intReal := Cvc.Logic.Arith.IntReal.int }
Instances For
RDL.
Equations
- Cvc.Logic.Arith.rdl = { kind := Cvc.Logic.Arith.Kind.diff, intReal := Cvc.Logic.Arith.IntReal.real }
Instances For
IRDL.
Equations
- Cvc.Logic.Arith.irdl = { kind := Cvc.Logic.Arith.Kind.diff, intReal := Cvc.Logic.Arith.IntReal.both }
Instances For
An SMT-LIB logic.
Based on [cvc5's logic_info.cpp][cpp].
- mkRaw :: (
- all? : Bool
Trumps the rest of the specification and turns everything on.
You should probably not use this, tailoring the logic to the terms you actually use allows the solver to use the best approach available and is crucial for performance.
- ho? : Bool
Higher-order, for reasoning about functions that take functions as arguments.
- qf? : Bool
Quantifier-free, terms cannot use quantifiers.
- sep? : Bool
[Separation logic], typically to reason about program memory.
- array? : Bool
For reasoning about arrays.
- uf? : Bool
Uninterpreted functions, terms can use symbols of a function-sort.
- card? : Bool
- bitvec? : Bool
Bit-vectors.
- ff? : Bool
- float? : Bool
Floating point numbers.
- datatype? : Bool
User-defined potentially-recursive datatypes.
- string? : Bool
Theory of strings.
- arith? : Option Cvc.Logic.Arith
Specification of the
Int/Realarithmetic theory. - )
Instances For
Either Logic.all? or at least one actual fragment is active.
Equations
Instances For
Equations
- self.instDecidableValid = inferInstanceAs (Decidable (self.isValid = true))
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.