Equations
- (Cvc.AfterZero.mk get).get = get
Instances For
def
Cvc.AfterZero.nextM
{m : Type → Type u_1}
{α : Nat → Type}
{n : Nat}
[Monad m]
(next : α n → m (α n.succ))
:
Equations
- Cvc.AfterZero.nextM next (Cvc.AfterZero.mk get) = do let __do_lift ← next get pure (Cvc.AfterZero.mk __do_lift)
Instances For
def
Cvc.AfterZero.next
{α : Nat → Type}
{n : Nat}
(next : α n → α n.succ)
(az : AfterZero α n.succ)
:
Equations
- Cvc.AfterZero.next next az = Cvc.AfterZero.nextM next az
Instances For
def
Cvc.AfterZero.nextM'
{m : Type → Type u_1}
{α : Type}
{n : Nat}
[Monad m]
(atZero : m α)
:
AfterZero' α n → m (AfterZero' α n.succ)
Equations
- Cvc.AfterZero.nextM' atZero Cvc.AfterZero.zero = Cvc.AfterZero.mk <$> atZero
- Cvc.AfterZero.nextM' atZero (Cvc.AfterZero.mk val) = pure (Cvc.AfterZero.mk val)
Instances For
def
Cvc.AfterZero.next'
{α : Type}
{n : Nat}
(az : AfterZero' α n.succ)
(next : α → α := id)
:
AfterZero' α n.succ.succ
Equations
- Cvc.AfterZero.next' az next = Cvc.AfterZero.next next az
Instances For
- mk' :: (
- toUnroller : State.Unroller depth
- candidates : Candidates State depth
- )
Instances For
def
Cvc.Sys.mk
{S : Symbols.Repr}
[State : Symbols S]
(idents : Symbols.Idents)
(init : Symbols.StatePred)
(step : Symbols.StateRel)
(candidates : Symbols.NamedPredicates := RBMap.empty)
:
Sys State
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Cvc.Sys.depth = Cvc.𝕂 depth
Instances For
def
Cvc.Sys.toLines
{S : Symbols.Repr}
[State : Symbols S]
{depth : Nat}
(sys : Sys State depth)
(pref : String := "")
:
Equations
- sys.toLines pref = Cvc.Sys.Candidates.toLines pref sys.candidates
Instances For
def
Cvc.Sys.addCandidate
{S : Symbols.Repr}
[State : Symbols S]
(sys : Sys State)
(name : String)
(pred : Symbols.StatePred)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Cvc.Sys.addCandidates
{S : Symbols.Repr}
[State : Symbols S]
{α : Type u_1}
[ForIn Res α (String × Symbols.StatePred)]
(sys : Sys State)
(candidates : α)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Cvc.Sys.getUnknownCandidates
{S : Symbols.Repr}
{depth : Nat}
[State : Symbols S]
(sys : Sys State depth)
:
Candidate.UnknownMap State depth
Equations
- sys.getUnknownCandidates = sys.candidates.unknown
Instances For
@[reducible, inline]
abbrev
Cvc.Sys.isDone
{S : Symbols.Repr}
{depth : Nat}
[State : Symbols S]
(sys : Sys State depth)
:
Equations
- sys.isDone = sys.candidates.isDone
Instances For
@[reducible, inline]
abbrev
Cvc.Sys.isNextBaseReady
{S : Symbols.Repr}
{depth : Nat}
[State : Symbols S]
(sys : Sys State depth)
:
Equations
- sys.isNextBaseReady = sys.candidates.isNextBaseReady
Instances For
@[reducible, inline]
abbrev
Cvc.Sys.isNextStepReady
{S : Symbols.Repr}
{depth : Nat}
[State : Symbols S]
(sys : Sys State depth)
:
Equations
- sys.isNextStepReady = sys.candidates.isNextStepReady
Instances For
@[reducible, inline]
abbrev
Cvc.Sys.isNextReady
{S : Symbols.Repr}
{depth : Nat}
[State : Symbols S]
(sys : Sys State depth)
:
Equations
- sys.isNextReady = decide (sys.isNextBaseReady = true ∧ sys.isNextStepReady = true)
Instances For
@[reducible, inline]
abbrev
Cvc.Sys.isBaseOver
{S : Symbols.Repr}
{depth : Nat}
[State : Symbols S]
(sys : Sys State depth)
:
Equations
- sys.isBaseOver = sys.isNextBaseReady
Instances For
@[reducible, inline]
abbrev
Cvc.Sys.isStepOver
{S : Symbols.Repr}
{depth : Nat}
[State : Symbols S]
(sys : Sys State depth)
:
Equations
- sys.isStepOver = sys.isNextStepReady
Instances For
def
Cvc.Sys.getStateAt
{S : Symbols.Repr}
{depth : Nat}
[State : Symbols S]
(sys : Sys State depth)
(k : Nat)
(h : k < depth := by omega)
:
Equations
- sys.getStateAt k h = Cvc.Symbols.Trace.get sys.toUnroller.trace k h
Instances For
def
Cvc.Sys.getState0
{S : Symbols.Repr}
{depth : Nat}
[State : Symbols S]
(sys : Sys State depth.succ)
:
Equations
- sys.getState0 = sys.getStateAt 0 ⋯
Instances For
def
Cvc.Sys.getLatestState
{S : Symbols.Repr}
[State : Symbols S]
{k : Nat}
(sys : Sys State (k + 1))
:
Equations
- sys.getLatestState = sys.getStateAt k ⋯
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[irreducible]
def
Cvc.Sys.checkBase
{S : Symbols.Repr}
[State : Symbols S]
{k : Nat}
(sys : Sys State k.succ)
(h : ¬sys.isBaseOver = true := by (try simp; done) <;> assumption)
(maxIter : Nat := (Batteries.RBMap.size sys.candidates.unknown).succ)
:
Equations
Instances For
@[irreducible]
def
Cvc.Sys.checkStep
{S : Symbols.Repr}
[State : Symbols S]
{k : Nat}
(sys : Sys State k.succ.succ)
(h : ¬sys.isStepOver = true := by (try simp; done) <;> assumption)
(maxIter maxIterRef : Nat := Batteries.RBMap.size sys.candidates.unknown)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Cvc.Sys.unrollCheckBaseStep
{S : Symbols.Repr}
[State : Symbols S]
{k : Nat}
(sys : Sys State k)
(h_base : sys.isBaseOver = true := by (try simp; done) <;> assumption)
(h_step : sys.isStepOver = true := by (try simp; done) <;> assumption)
(h : ¬sys.isDone = true := by (try simp; done) <;> assumption)
:
Equations
- One or more equations did not get rendered due to their size.