instance
Iris.ProofMode.instInhabitedRemoveHyp
{a✝ : Lean.Level}
{a✝¹ : Q(Type a✝)}
{a✝² : Q(BI $a✝)}
{a✝³ : Q($a✝)}
:
inductive
Iris.ProofMode.RemoveHypCore
{u : Lean.Level}
{prop : Q(Type u)}
(bi : Q(BI «$prop»))
(e : Q(«$prop»))
(α : Type)
:
- none {u : Lean.Level} {prop : Q(Type u)} {bi : Q(BI «$prop»)} {e : Q(«$prop»)} {α : Type} : RemoveHypCore bi e α
- one {u : Lean.Level} {prop : Q(Type u)} {bi : Q(BI «$prop»)} {e : Q(«$prop»)} {α : Type} (a : α) (out' : Q(«$prop»)) (p : Q(Bool)) (eq : «$e» =Q iprop(□?«$p» «$out'»)) : RemoveHypCore bi e α
- main {u : Lean.Level} {prop : Q(Type u)} {bi : Q(BI «$prop»)} {e : Q(«$prop»)} {α : Type} (a : α) : RemoveHyp bi e → RemoveHypCore bi e α
Instances For
def
Iris.ProofMode.Hyps.removeCore
{m : Type → Type u_1}
{u : Lean.Level}
{α : Type}
[Monad m]
{prop : Q(Type u)}
(bi : Q(BI «$prop»))
(rp : Bool)
(check : Lean.Name → Lean.Name → Q(Bool) → Q(«$prop») → m (Option α))
{e : Q(«$prop»)}
:
Hyps bi e → m (RemoveHypCore bi e α)
If rp is true, the hyp will be removed even if it is in the intuitionistic context.
Equations
- One or more equations did not get rendered due to their size.
- Iris.ProofMode.Hyps.removeCore bi rp check (Iris.ProofMode.Hyps.emp x_3) = pure Iris.ProofMode.RemoveHypCore.none
Instances For
def
Iris.ProofMode.Hyps.removeG
{m : Type → Type 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.Name → Lean.Name → Q(Bool) → Q(«$prop») → m (Option α))
:
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)
:
RemoveHyp bi e
Equations
- One or more equations did not get rendered due to their size.