Theorem: Reactor.Member.Equivalent.symm (ReactorModel/Objects/Reactor/Theorems/Basic.lean)

State before:
α : Type
inst✝¹ : Reactor α
rtr rtr₁ : α
β : Type
cpt : Component
i : Component.idType cpt
inst✝ : Reactor β
rtr₂ : β
m₁ : Member cpt i rtr₁
m₂ : Member cpt i rtr₂
e : m₁ ∼ m₂
⊢ m₂ ∼ m₁
Tactic:
cases m₁
State after:
case root
α : Type
inst✝¹ : Reactor α
rtr rtr₁ : α
β : Type
inst✝ : Reactor β
rtr₂ : β
m₂ : Member Component.rtr ⊤ rtr₂
e : Member.root ∼ m₂
⊢ m₂ ∼ Member.root

case strict
α : Type
inst✝¹ : Reactor α
rtr rtr₁ : α
β : Type
cpt : Component
inst✝ : Reactor β
rtr₂ : β
i✝ : ID
m₂ :
  Member cpt
    (match cpt with
    | Component.rtr => ↑i✝
    | Component.rcn => i✝
    | Component.val v => i✝)
    rtr₂
a✝ : StrictMember cpt i✝ rtr₁
e : Member.strict a✝ ∼ m₂
⊢ m₂ ∼ Member.strict a✝

State before:
α : Type
inst✝¹ : Reactor α
rtr rtr₁ : α
β : Type
inst✝ : Reactor β
rtr₂ : β
m₂ : Member Component.rtr ⊤ rtr₂
e : Member.root ∼ m₂
⊢ m₂ ∼ Member.root
Tactic:
case root => cases m₂; exact root
State after:
no goals

State before:
α : Type
inst✝¹ : Reactor α
rtr rtr₁ : α
β : Type
cpt : Component
inst✝ : Reactor β
rtr₂ : β
i✝ : ID
m₂ :
  Member cpt
    (match cpt with
    | Component.rtr => ↑i✝
    | Component.rcn => i✝
    | Component.val v => i✝)
    rtr₂
a✝ : StrictMember cpt i✝ rtr₁
e : Member.strict a✝ ∼ m₂
⊢ m₂ ∼ Member.strict a✝
Tactic:
case strict => cases cpt <;> cases e <;> exact .strict $ StrictMember.Equivalent.symm ‹_›
State after:
no goals

State before:
α : Type
inst✝¹ : Reactor α
rtr rtr₁ : α
β : Type
inst✝ : Reactor β
rtr₂ : β
m₂ : Member Component.rtr ⊤ rtr₂
e : Member.root ∼ m₂
⊢ m₂ ∼ Member.root
Tactic:
cases m₂
State after:
case root
α : Type
inst✝¹ : Reactor α
rtr rtr₁ : α
β : Type
inst✝ : Reactor β
rtr₂ : β
e : Member.root ∼ Member.root
⊢ Member.root ∼ Member.root

State before:
case root
α : Type
inst✝¹ : Reactor α
rtr rtr₁ : α
β : Type
inst✝ : Reactor β
rtr₂ : β
e : Member.root ∼ Member.root
⊢ Member.root ∼ Member.root
Tactic:
exact root
State after:
no goals

State before:
α : Type
inst✝¹ : Reactor α
rtr rtr₁ : α
β : Type
cpt : Component
inst✝ : Reactor β
rtr₂ : β
i✝ : ID
m₂ :
  Member cpt
    (match cpt with
    | Component.rtr => ↑i✝
    | Component.rcn => i✝
    | Component.val v => i✝)
    rtr₂
a✝ : StrictMember cpt i✝ rtr₁
e : Member.strict a✝ ∼ m₂
⊢ m₂ ∼ Member.strict a✝
Tactic:
cases cpt <;> cases e <;> exact .strict $ StrictMember.Equivalent.symm ‹_›
State after:
no goals