Documentation

Auto.IR.SMT

Equations
Instances For
    Instances For
      Equations
      Instances For
        Instances For
          Equations
          Instances For

            Caution : Do not use this in define-sort, because sort there might contain bvars

            Equations

            〈qual_identifier〉 ::= 〈identifier〉 | ( as 〈identifier〉 〈sort〉 )

            Instances For
              Equations
              • One or more equations did not get rendered due to their size.
              structure Auto.IR.SMT.MatchCase (α : Sort u) :
              Sort (max 1 u)
              Instances For
                Instances For
                  Instances For

                    〈attribute_value〉 ::= 〈spec_constant〉 | 〈symbol〉 | (〈s_expr〉∗ ) 〈attribute〉 ::= 〈keyword〉 | 〈keyword〉〈attribute_value〉

                    Instances For
                      def Auto.IR.SMT.STerm.attrApp (name : String) (attrTerm term : STerm) :
                      Equations
                      Instances For
                        Equations
                        Instances For

                          〈selector_dec〉 ::= ( 〈symbol〉 〈sort〉 ) 〈constructor_dec〉 ::= ( 〈symbol〉 〈selector_dec〉∗ )

                          Instances For
                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For

                              〈datatype_dec〉 ::= ( 〈constructor_dec〉+ ) | ( par ( 〈symbol 〉+ ) ( 〈constructor_dec〉+ ) )

                              Instances For
                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  Instances For
                                    Equations
                                    Instances For

                                      〈sorted_var〉 ::= ( 〈symbol〉 〈sort〉 ) 〈datatype_dec〉 ::= ( 〈constructor_dec〉+ ) | ( par ( 〈symbol〉+ ) ( 〈constructor_dec〉+ ) ) 〈function_dec〉 ::= ( 〈symbol〉 ( 〈sorted_var〉∗ ) 〈sort〉 ) 〈function_def〉 ::= 〈symbol〉 ( 〈sorted_var〉∗ ) 〈sort〉 〈term〉 command ::= ( assert 〈term〉 ) ( check-sat ) ... ( declare-fun 〈symbol〉 ( 〈sort〉∗ ) 〈sort〉 ) ( declare-sort 〈symbol〉 〈numeral〉 ) ( define-fun 〈function_def〉 ) ( define-fun-rec 〈function_def〉 ) ( define-funs-rec ( ⟨function_dec⟩ⁿ⁺¹ ) ( ⟨term⟩ⁿ⁺¹ ) ) ( define-sort 〈symbol〉 ( 〈symbol〉∗ ) 〈sort〉 ) ( declare-datatype 〈symbol〉 〈datatype_dec〉) ... ( get-model ) ( get-option 〈keyword〉 ) ( get-proof ) ( get-unsat-assumptions ) ( get-unsat-core ) ... ( set-option 〈option〉 ) ( set-logic 〈symbol 〉 )

                                      Instances For
                                        structure Auto.IR.SMT.State (ω : Type) [BEq ω] [Hashable ω] (φ : Type) [BEq φ] [Hashable φ] :

                                        The main purpose of this state is for name generation and symbol declaration/definition, so we do not distinguish between sort identifiers, datatype identifiers and function identifiers

                                        Instances For
                                          @[reducible, inline]
                                          abbrev Auto.IR.SMT.TransM (ω : Type) [BEq ω] [Hashable ω] (φ : Type) [BEq φ] [Hashable φ] (α : Type) :
                                          Equations
                                          Instances For
                                            @[always_inline]
                                            instance Auto.IR.SMT.instMonadTransM (ω : Type) [BEq ω] [Hashable ω] (φ : Type) [BEq φ] [Hashable φ] :
                                            Monad (TransM ω φ)
                                            Equations
                                            • One or more equations did not get rendered due to their size.
                                            instance Auto.IR.SMT.instInhabitedTransM (ω : Type) [BEq ω] [Hashable ω] (φ : Type) [BEq φ] [Hashable φ] {α : Type} :
                                            Inhabited (TransM ω φ α)
                                            Equations
                                            @[inline]
                                            def Auto.IR.SMT.TransM.run {ω : Type} [BEq ω] [Hashable ω] {φ : Type} [BEq φ] [Hashable φ] {α : Type} (x : TransM ω φ α) (s : State ω φ := { }) :
                                            Lean.MetaM (α × State ω φ)
                                            Equations
                                            Instances For
                                              @[inline]
                                              def Auto.IR.SMT.TransM.run' {ω : Type} [BEq ω] [Hashable ω] {φ : Type} [BEq φ] [Hashable φ] {α : Type} (x : TransM ω φ α) (s : State ω φ := { }) :
                                              Equations
                                              Instances For
                                                def Auto.IR.SMT.setH2lMap {ω : Type} [BEq ω] [Hashable ω] {φ : Type} [BEq φ] [Hashable φ] (field : Std.HashMap ω String) :
                                                Equations
                                                • One or more equations did not get rendered due to their size.
                                                Instances For
                                                  def Auto.IR.SMT.getUsedNames {ω : Type} [BEq ω] [Hashable ω] {φ : Type} [BEq φ] [Hashable φ] :
                                                  Equations
                                                  Instances For
                                                    def Auto.IR.SMT.setWfPredicatesMap {ω : Type} [BEq ω] [Hashable ω] {φ : Type} [BEq φ] [Hashable φ] (field : Std.HashMap φ (Option String)) :
                                                    Equations
                                                    • One or more equations did not get rendered due to their size.
                                                    Instances For
                                                      def Auto.IR.SMT.getWfPredicatesMap {ω : Type} [BEq ω] [Hashable ω] {φ : Type} [BEq φ] [Hashable φ] :
                                                      Equations
                                                      Instances For
                                                        def Auto.IR.SMT.setWfPredicatesInvMap {ω : Type} [BEq ω] [Hashable ω] {φ : Type} [BEq φ] [Hashable φ] (field : Std.HashMap String φ) :
                                                        Equations
                                                        • One or more equations did not get rendered due to their size.
                                                        Instances For
                                                          def Auto.IR.SMT.setCommands {ω : Type} [BEq ω] [Hashable ω] {φ : Type} [BEq φ] [Hashable φ] (field : Array Command) :
                                                          Equations
                                                          • One or more equations did not get rendered due to their size.
                                                          Instances For
                                                            def Auto.IR.SMT.getCommands {ω : Type} [BEq ω] [Hashable ω] {φ : Type} [BEq φ] [Hashable φ] :
                                                            Equations
                                                            Instances For
                                                              def Auto.IR.SMT.setUsedNames {ω : Type} [BEq ω] [Hashable ω] {φ : Type} [BEq φ] [Hashable φ] (field : Std.HashMap String Nat) :
                                                              Equations
                                                              • One or more equations did not get rendered due to their size.
                                                              Instances For
                                                                def Auto.IR.SMT.setL2hMap {ω : Type} [BEq ω] [Hashable ω] {φ : Type} [BEq φ] [Hashable φ] (field : Std.HashMap String ω) :
                                                                Equations
                                                                • One or more equations did not get rendered due to their size.
                                                                Instances For
                                                                  def Auto.IR.SMT.getWfPredicatesInvMap {ω : Type} [BEq ω] [Hashable ω] {φ : Type} [BEq φ] [Hashable φ] :
                                                                  Equations
                                                                  Instances For
                                                                    def Auto.IR.SMT.getL2hMap {ω : Type} [BEq ω] [Hashable ω] {φ : Type} [BEq φ] [Hashable φ] :
                                                                    Equations
                                                                    Instances For
                                                                      def Auto.IR.SMT.getH2lMap {ω : Type} [BEq ω] [Hashable ω] {φ : Type} [BEq φ] [Hashable φ] :
                                                                      Equations
                                                                      Instances For
                                                                        def Auto.IR.SMT.getMapSize {ω : Type} [BEq ω] [Hashable ω] {φ : Type} [BEq φ] [Hashable φ] :
                                                                        TransM ω φ Nat
                                                                        Equations
                                                                        • One or more equations did not get rendered due to their size.
                                                                        Instances For
                                                                          def Auto.IR.SMT.hIn {ω : Type} [BEq ω] [Hashable ω] {φ : Type} [BEq φ] [Hashable φ] (e : ω) :
                                                                          TransM ω φ Bool
                                                                          Equations
                                                                          Instances For
                                                                            def Auto.IR.SMT.processSuggestedName {ω : Type} [BEq ω] [Hashable ω] {φ : Type} [BEq φ] [Hashable φ] (nameSuggestion : String) :
                                                                            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
                                                                                def Auto.IR.SMT.disposableName {ω : Type} [BEq ω] [Hashable ω] {φ : Type} [BEq φ] [Hashable φ] (nameSuggestion : String) :
                                                                                Equations
                                                                                Instances For
                                                                                  def Auto.IR.SMT.h2Symb {ω : Type} [BEq ω] [Hashable ω] [ToString ω] {φ : Type} [BEq φ] [Hashable φ] (cstr : ω) (nameSuggestion : Option String) :

                                                                                  Turn high-level construct into low-level symbol Note that this function is idempotent

                                                                                  Equations
                                                                                  • One or more equations did not get rendered due to their size.
                                                                                  Instances For
                                                                                    def Auto.IR.SMT.h2SymbWf {ω : Type} [BEq ω] [Hashable ω] {φ : Type} [BEq φ] [Hashable φ] [ToString φ] (s : φ) (nameSuggestion : Option String) :

                                                                                    Like hySymb but produces names for well-formed predicates of sort s (of type φ) rather than of constructs (of type ω)

                                                                                    Equations
                                                                                    • One or more equations did not get rendered due to their size.
                                                                                    Instances For
                                                                                      def Auto.IR.SMT.addCommand {ω : Type} [BEq ω] [Hashable ω] {φ : Type} [BEq φ] [Hashable φ] (c : Command) :
                                                                                      TransM ω φ Unit
                                                                                      Equations
                                                                                      Instances For