Documentation

Iris.ProofMode.Tactics.Remove

structure Iris.ProofMode.RemoveHyp {u : Lean.Level} {prop : Q(Type u)} (bi : Q(BI «$prop»)) (e : Q(«$prop»)) :
  • e' : Q(«$prop»)
  • hyps' : Hyps bi self.e'
  • out : Q(«$prop»)
  • out' : Q(«$prop»)
  • p : Q(Bool)
  • eq : unknown_1 =Q iprop(□?unknown_2 unknown_3)
  • pf : Q(«$e» ⊣⊢ unknown_1 unknown_2)
Instances For
    instance Iris.ProofMode.instInhabitedRemoveHyp {a✝ : Lean.Level} {a✝¹ : Q(Type a✝)} {a✝² : Q(BI $a✝)} {a✝³ : Q($a✝)} :
    Inhabited (RemoveHyp a✝² a✝³)
    Equations
    inductive Iris.ProofMode.RemoveHypCore {u : Lean.Level} {prop : Q(Type u)} (bi : Q(BI «$prop»)) (e : Q(«$prop»)) (α : Type) :
    Instances For
      theorem Iris.ProofMode.remove_l {PROP : Type u_1} [BI PROP] {P P' Q R : PROP} (h : P ⊣⊢ P' R) :
      P Q ⊣⊢ (P' Q) R
      theorem Iris.ProofMode.remove_r {PROP : Type u_1} [BI PROP] {P Q Q' R : PROP} (h : Q ⊣⊢ Q' R) :
      P Q ⊣⊢ (P Q') R
      theorem Iris.ProofMode.intuitionistically_sep_dup {PROP : Type u_1} [BI PROP] {P : PROP} :
      def Iris.ProofMode.Hyps.removeCore {m : TypeType u_1} {u : Lean.Level} {α : Type} [Monad m] {prop : Q(Type u)} (bi : Q(BI «$prop»)) (rp : Bool) (check : Lean.NameLean.NameQ(Bool)Q(«$prop»)m (Option α)) {e : Q(«$prop»)} :
      Hyps bi em (RemoveHypCore bi e α)

      If rp is true, the hyp will be removed even if it is in the intuitionistic context.

      Equations
      Instances For
        theorem Iris.ProofMode.sep_emp_rev {PROP : Type u_1} [BI PROP] {P : PROP} :
        P ⊣⊢ P emp
        theorem Iris.ProofMode.emp_sep_rev {PROP : Type u_1} [BI PROP] {P : PROP} :
        P ⊣⊢ emp P
        def Iris.ProofMode.Hyps.removeG {m : TypeType u_1} {u : Lean.Level} {α : Type} [Monad m] {prop : Q(Type u)} {bi : Q(BI «$prop»)} {e : Q(Prop)} (rp : Bool) (hyps : Hyps bi e) (check : Lean.NameLean.NameQ(Bool)Q(«$prop»)m (Option α)) :
        m (Option (α × RemoveHyp bi e))
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def Iris.ProofMode.Hyps.remove {u : Lean.Level} {prop : Q(Type u)} {bi : Q(BI «$prop»)} {e : Q(«$prop»)} (rp : Bool) (hyps : Hyps bi e) (uniq : Lean.Name) :
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For