Theorem: Matroid.IsIso.trans (Matroid/Old/_Equiv.lean)

State before:
α : Type u_1
β : Type u_2
γ : Type u_3
α₁ : Type u_4
α₂ : Type u_5
α₃ : Type u_6
M✝ : Matroid α
N✝ : Matroid β
B I D X Y : Set α
M : Matroid α
N : Matroid β
O : Matroid γ
h1 : M ≂ N
h2 : N ≂ O
⊢ M ≂ O
Tactic:
obtain (⟨rfl,rfl⟩ | ⟨⟨i1⟩⟩) := h1
State after:
case inl.intro
α : Type u_1
β : Type u_2
γ : Type u_3
α₁ : Type u_4
α₂ : Type u_5
α₃ : Type u_6
M : Matroid α
N : Matroid β
B I D X Y : Set α
O : Matroid γ
h2 : emptyOn β ≂ O
⊢ emptyOn α ≂ O

case inr.intro
α : Type u_1
β : Type u_2
γ : Type u_3
α₁ : Type u_4
α₂ : Type u_5
α₃ : Type u_6
M✝ : Matroid α
N✝ : Matroid β
B I D X Y : Set α
M : Matroid α
N : Matroid β
O : Matroid γ
h2 : N ≂ O
i1 : M.Iso N
⊢ M ≂ O

State before:
case inr.intro
α : Type u_1
β : Type u_2
γ : Type u_3
α₁ : Type u_4
α₂ : Type u_5
α₃ : Type u_6
M✝ : Matroid α
N✝ : Matroid β
B I D X Y : Set α
M : Matroid α
N : Matroid β
O : Matroid γ
h2 : N ≂ O
i1 : M.Iso N
⊢ M ≂ O
Tactic:
obtain (⟨rfl,rfl⟩ | ⟨⟨i2⟩⟩) := h2
State after:
case inr.intro.inl.intro
α : Type u_1
β : Type u_2
γ : Type u_3
α₁ : Type u_4
α₂ : Type u_5
α₃ : Type u_6
M✝ : Matroid α
N : Matroid β
B I D X Y : Set α
M : Matroid α
i1 : M.Iso (emptyOn β)
⊢ M ≂ emptyOn γ

case inr.intro.inr.intro
α : Type u_1
β : Type u_2
γ : Type u_3
α₁ : Type u_4
α₂ : Type u_5
α₃ : Type u_6
M✝ : Matroid α
N✝ : Matroid β
B I D X Y : Set α
M : Matroid α
N : Matroid β
O : Matroid γ
i1 : M.Iso N
i2 : N.Iso O
⊢ M ≂ O

State before:
case inr.intro.inr.intro
α : Type u_1
β : Type u_2
γ : Type u_3
α₁ : Type u_4
α₂ : Type u_5
α₃ : Type u_6
M✝ : Matroid α
N✝ : Matroid β
B I D X Y : Set α
M : Matroid α
N : Matroid β
O : Matroid γ
i1 : M.Iso N
i2 : N.Iso O
⊢ M ≂ O
Tactic:
exact Or.inr ⟨i1.trans i2⟩
State after:
no goals

State before:
case inl.intro
α : Type u_1
β : Type u_2
γ : Type u_3
α₁ : Type u_4
α₂ : Type u_5
α₃ : Type u_6
M : Matroid α
N : Matroid β
B I D X Y : Set α
O : Matroid γ
h2 : emptyOn β ≂ O
⊢ emptyOn α ≂ O
Tactic:
rwa [IsIso.comm, isIso_emptyOn_iff] at h2 ⊢
State after:
no goals

State before:
case inr.intro.inl.intro
α : Type u_1
β : Type u_2
γ : Type u_3
α₁ : Type u_4
α₂ : Type u_5
α₃ : Type u_6
M✝ : Matroid α
N : Matroid β
B I D X Y : Set α
M : Matroid α
i1 : M.Iso (emptyOn β)
⊢ M ≂ emptyOn γ
Tactic:
rw [isIso_emptyOn_iff]
State after:
case inr.intro.inl.intro
α : Type u_1
β : Type u_2
γ : Type u_3
α₁ : Type u_4
α₂ : Type u_5
α₃ : Type u_6
M✝ : Matroid α
N : Matroid β
B I D X Y : Set α
M : Matroid α
i1 : M.Iso (emptyOn β)
⊢ M = emptyOn α

State before:
case inr.intro.inl.intro
α : Type u_1
β : Type u_2
γ : Type u_3
α₁ : Type u_4
α₂ : Type u_5
α₃ : Type u_6
M✝ : Matroid α
N : Matroid β
B I D X Y : Set α
M : Matroid α
i1 : M.Iso (emptyOn β)
⊢ M = emptyOn α
Tactic:
exact isIso_emptyOn_iff.1 i1.isIso
State after:
no goals