Documentation

LeanPool.Lentil.ProofMode.Basic

structure TLA.ProofMode.NamedPred (σ : Type u) :

A named proof-mode hypothesis.

  • name : String

    The hypothesis name.

  • pred : TLA.pred σ

    The hypothesis predicate.

Instances For
    def TLA.ProofMode.repeatedAnd {σ : Type u_1} (ps : List (pred σ)) :
    pred σ

    Right-fold a list of predicates into a single conjunction.

    Equations
    Instances For
      def TLA.ProofMode.repeatedImplies {σ : Type u_1} (ps : List (pred σ)) (q : pred σ) :
      pred σ

      Right-fold a list of predicates into a chain of implications to q.

      Equations
      Instances For
        theorem TLA.ProofMode.repeatedAnd_eq_bigwedge {σ : Type u_1} (ps : List (pred σ)) :
        ((repeatedAnd ps)) =tla= (xps, x)
        theorem TLA.ProofMode.repeatedAnd_eq_in_iff {σ : Type u_1} (ps1 ps2 : List (pred σ)) (h : ∀ (p : pred σ), p ps1 p ps2) :
        theorem TLA.ProofMode.repeatedAnd_append {σ : Type u_1} (ps1 ps2 : List (pred σ)) :
        ((repeatedAnd (ps1 ++ ps2))) =tla= ((repeatedAnd ps1)(repeatedAnd ps2))
        theorem TLA.ProofMode.repeatedAnd_cons {σ : Type u_1} (p : pred σ) (ps : List (pred σ)) :
        ((repeatedAnd (p :: ps))) =tla= (p(repeatedAnd ps))
        theorem TLA.ProofMode.repeatedAnd_add_duplicate {σ : Type u_1} {ps : List (pred σ)} {p : pred σ} (h : p ps) :
        theorem TLA.ProofMode.repeatedAnd_subset_implies {σ : Type u_1} (ps1 ps2 : List (pred σ)) :
        ps1 ps2((repeatedAnd ps2)) |-tla- ((repeatedAnd ps1))
        theorem TLA.ProofMode.repeatedImplies_apply {σ : Type u} {hs : List (pred σ)} {goal : pred σ} :
        def TLA.ProofMode.Entails {σ : Type u_1} (hyps : List (NamedPred σ)) (goal : pred σ) :

        The proof-mode entailment: the conjunction of hypotheses entails the goal.

        Equations
        Instances For
          theorem TLA.ProofMode.repeatedAnd_modifyHyp_reorder {σ : Type u} (hyps : List (NamedPred σ)) (idx : Nat) (h : idx < hyps.length) (f : NamedPred σNamedPred σ) :
          ((repeatedAnd (List.map NamedPred.pred hyps))(f hyps[idx]).pred) =tla= ((repeatedAnd (List.map NamedPred.pred (hyps.modify idx f)))hyps[idx].pred)
          theorem TLA.ProofMode.repeatedAnd_map_comm {σ : Type u} (hyps : List (pred σ)) (f : pred σpred σ) (htrue : () =tla= ((f [tlafml|]))) (h : ∀ (p q : pred σ), ((f p)(f q)) =tla= ((f [tlafml|pq]))) :
          repeatedAnd (List.map f hyps) = f (repeatedAnd hyps)
          def TLA.ProofMode.ModifyHypSpecWithIndex {σ : Type u_1} (hyps hyps' : List (NamedPred σ)) (f : NamedPred σNamedPred σ) (idx : Nat) :

          Specification relating a hypothesis list to its modification at a given index.

          Equations
          Instances For
            theorem TLA.ProofMode.ModifyHypSpecWithIndex_modify {σ : Type u} (hyps : List (NamedPred σ)) (f : NamedPred σNamedPred σ) (idx : Nat) :
            ModifyHypSpecWithIndex hyps (hyps.modify idx f) f idx
            def TLA.ProofMode.ModifyHypSpec {σ : Type u_1} (hyps hyps' : List (NamedPred σ)) (f : NamedPred σNamedPred σ) :

            Specification relating a hypothesis list to its modification at some index.

            Equations
            Instances For
              theorem TLA.ProofMode.ModifyHypSpecWithIndex_implies_ModifyHypSpec {σ : Type u_1} {hyps hyps' : List (NamedPred σ)} {f : NamedPred σNamedPred σ} {idx : Nat} :
              ModifyHypSpecWithIndex hyps hyps' f idxModifyHypSpec hyps hyps' f
              theorem TLA.ProofMode.ModifyHypSpec_implies_ModifyHypSpecWithIndex {σ : Type u_1} {hyps hyps' : List (NamedPred σ)} {f : NamedPred σNamedPred σ} :
              ModifyHypSpec hyps hyps' f (idx : Nat), ModifyHypSpecWithIndex hyps hyps' f idx
              def TLA.ProofMode.modifyHypByName {σ : Type u} (hyps : List (NamedPred σ)) (name : String) (f : NamedPred σNamedPred σ) :

              Modify the hypothesis with the given name by applying f.

              Equations
              Instances For
                theorem TLA.ProofMode.modifyHypByName_spec {σ : Type u} (hyps : List (NamedPred σ)) (name : String) (f : NamedPred σNamedPred σ) :
                ModifyHypSpec hyps (modifyHypByName hyps name f) f

                Obtain a cleaned-up version of e.

                Equations
                Instances For

                  Run dsimp with the reflection lemmas after applying a proof-mode theorem.

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

                    Recognize a literal list of named hypotheses from an Expr.

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

                      Recognize the hypothesis list of an Entails goal Expr.

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

                        Build the Expr of a literal list of named hypotheses.

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

                          The number of hypotheses in the current proof-mode goal.

                          Equations
                          Instances For