Documentation

Cvc.Sys.Defs

inductive Cvc.AfterZero (α : NatType) (n : Nat) :
Instances For
    @[reducible, inline]
    abbrev Cvc.AfterZero' (α : Type) (n : Nat) :
    Equations
    Instances For
      def Cvc.AfterZero.get {α : NatType} {k : Nat} :
      AfterZero α k.succα k
      Equations
      Instances For
        instance Cvc.AfterZero.instCoeDep {α : NatType} {k : Nat} {az : AfterZero α k.succ} :
        CoeDep (AfterZero α k.succ) az (α k)
        Equations
        def Cvc.AfterZero.nextM {m : TypeType u_1} {α : NatType} {n : Nat} [Monad m] (next : α nm (α n.succ)) :
        AfterZero α n.succm (AfterZero α n.succ.succ)
        Equations
        Instances For
          def Cvc.AfterZero.next {α : NatType} {n : Nat} (next : α nα n.succ) (az : AfterZero α n.succ) :
          Equations
          Instances For
            def Cvc.AfterZero.nextM' {m : TypeType u_1} {α : Type} {n : Nat} [Monad m] (atZero : m α) :
            AfterZero' α nm (AfterZero' α n.succ)
            Equations
            Instances For
              def Cvc.AfterZero.next' {α : Type} {n : Nat} (az : AfterZero' α n.succ) (next : αα := id) :
              Equations
              Instances For
                structure Cvc.Sys {Struct : Symbols.Repr} (State : Symbols Struct) (depth : Nat := 0) :
                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
                    def Cvc.Sys.depth {S : Symbols.Repr} [State : Symbols S] {depth : Nat} (sys : Sys State depth) :
                    Equations
                    Instances For
                      def Cvc.Sys.toLines {S : Symbols.Repr} [State : Symbols S] {depth : Nat} (sys : Sys State depth) (pref : String := "") :
                      Equations
                      Instances For
                        def Cvc.Sys.addCandidate {S : Symbols.Repr} [State : Symbols S] (sys : Sys State) (name : String) (pred : Symbols.StatePred) :
                        Res (Sys State)
                        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 : α) :
                          Res (Sys State)
                          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) :
                            Equations
                            Instances For
                              @[reducible, inline]
                              abbrev Cvc.Sys.isDone {S : Symbols.Repr} {depth : Nat} [State : Symbols S] (sys : Sys State depth) :
                              Equations
                              Instances For
                                @[reducible, inline]
                                abbrev Cvc.Sys.isNextBaseReady {S : Symbols.Repr} {depth : Nat} [State : Symbols S] (sys : Sys State depth) :
                                Equations
                                Instances For
                                  @[reducible, inline]
                                  abbrev Cvc.Sys.isNextStepReady {S : Symbols.Repr} {depth : Nat} [State : Symbols S] (sys : Sys State depth) :
                                  Equations
                                  Instances For
                                    @[reducible, inline]
                                    abbrev Cvc.Sys.isNextReady {S : Symbols.Repr} {depth : Nat} [State : Symbols S] (sys : Sys State depth) :
                                    Equations
                                    Instances For
                                      @[reducible, inline]
                                      abbrev Cvc.Sys.isBaseOver {S : Symbols.Repr} {depth : Nat} [State : Symbols S] (sys : Sys State depth) :
                                      Equations
                                      Instances For
                                        @[reducible, inline]
                                        abbrev Cvc.Sys.isStepOver {S : Symbols.Repr} {depth : Nat} [State : Symbols S] (sys : Sys State depth) :
                                        Equations
                                        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
                                          Instances For
                                            def Cvc.Sys.getState0 {S : Symbols.Repr} {depth : Nat} [State : Symbols S] (sys : Sys State depth.succ) :
                                            Equations
                                            Instances For
                                              def Cvc.Sys.getLatestState {S : Symbols.Repr} [State : Symbols S] {k : Nat} (sys : Sys State (k + 1)) :
                                              Equations
                                              Instances For
                                                def Cvc.Sys.unroll' {S : Symbols.Repr} {depth : Nat} [State : Symbols S] (sys : Sys State depth) :
                                                Smt (Sys State depth.succ)
                                                Equations
                                                • One or more equations did not get rendered due to their size.
                                                Instances For
                                                  def Cvc.Sys.unroll {S : Symbols.Repr} {depth : Nat} [State : Symbols S] (sys : Sys State depth) (h : ¬sys.isDone = true := by (try simp [*] <;> assumption)) :
                                                  Smt (Sys State depth.succ)
                                                  Equations
                                                  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) :
                                                    Smt (Sys State k.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) :
                                                      Smt (Sys State k.succ.succ)
                                                      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) :
                                                        Smt (Sys State k.succ)
                                                        Equations
                                                        • One or more equations did not get rendered due to their size.
                                                        Instances For
                                                          def Cvc.Sys.kInduction {S : Symbols.Repr} [State : Symbols S] {k : Nat} (sys : Sys State k) (maxSteps : Nat) :
                                                          Smt ((k' : Nat) × Sys State k'.succ)
                                                          Equations
                                                          Instances For