Theorem: SemilatticeSup.ext
File: Mathlib/Order/Lattice.lean

Proof steps:
state_before: α✝ : Type u
β : Type v
inst✝ : SemilatticeSup α✝
a b c d : α✝
α : Type u_1
A B : SemilatticeSup α
H : ∀ (x y : α), x ≤ y ↔ x ≤ y
⊢ A = B
state_after: α✝ : Type u
β : Type v
inst✝ : SemilatticeSup α✝
a b c d : α✝
α : Type u_1
A B : SemilatticeSup α
H : ∀ (x y : α), x ≤ y ↔ x ≤ y
ss : toSup = toSup
⊢ A = B
tactic: have ss : A.toSup = B.toSup := by ext; apply SemilatticeSup.ext_sup H
state_before: α✝ : Type u
β : Type v
inst✝ : SemilatticeSup α✝
a b c d : α✝
α : Type u_1
A B : SemilatticeSup α
H : ∀ (x y : α), x ≤ y ↔ x ≤ y
ss : toSup = toSup
⊢ A = B
state_after: case mk
α✝ : Type u
β : Type v
inst✝ : SemilatticeSup α✝
a b c d : α✝
α : Type u_1
B : SemilatticeSup α
toSup✝ : Sup α
toPartialOrder✝ : PartialOrder α
le_sup_left✝ : ∀ (a b : α), a ≤ a ⊔ b
le_sup_right✝ : ∀ (a b : α), b ≤ a ⊔ b
sup_le✝ : ∀ (a b c : α), a ≤ c → b ≤ c → a ⊔ b ≤ c
H : ∀ (x y : α), x ≤ y ↔ x ≤ y
ss : toSup = toSup
⊢ mk le_sup_left✝ le_sup_right✝ sup_le✝ = B
tactic: cases A
state_before: case mk
α✝ : Type u
β : Type v
inst✝ : SemilatticeSup α✝
a b c d : α✝
α : Type u_1
B : SemilatticeSup α
toSup✝ : Sup α
toPartialOrder✝ : PartialOrder α
le_sup_left✝ : ∀ (a b : α), a ≤ a ⊔ b
le_sup_right✝ : ∀ (a b : α), b ≤ a ⊔ b
sup_le✝ : ∀ (a b c : α), a ≤ c → b ≤ c → a ⊔ b ≤ c
H : ∀ (x y : α), x ≤ y ↔ x ≤ y
ss : toSup = toSup
⊢ mk le_sup_left✝ le_sup_right✝ sup_le✝ = B
state_after: case mk.mk
α✝ : Type u
β : Type v
inst✝ : SemilatticeSup α✝
a b c d : α✝
α : Type u_1
toSup✝¹ : Sup α
toPartialOrder✝¹ : PartialOrder α
le_sup_left✝¹ : ∀ (a b : α), a ≤ a ⊔ b
le_sup_right✝¹ : ∀ (a b : α), b ≤ a ⊔ b
sup_le✝¹ : ∀ (a b c : α), a ≤ c → b ≤ c → a ⊔ b ≤ c
toSup✝ : Sup α
toPartialOrder✝ : PartialOrder α
le_sup_left✝ : ∀ (a b : α), a ≤ a ⊔ b
le_sup_right✝ : ∀ (a b : α), b ≤ a ⊔ b
sup_le✝ : ∀ (a b c : α), a ≤ c → b ≤ c → a ⊔ b ≤ c
H : ∀ (x y : α), x ≤ y ↔ x ≤ y
ss : toSup = toSup
⊢ mk le_sup_left✝¹ le_sup_right✝¹ sup_le✝¹ = mk le_sup_left✝ le_sup_right✝ sup_le✝
tactic: cases B
state_before: case mk.mk
α✝ : Type u
β : Type v
inst✝ : SemilatticeSup α✝
a b c d : α✝
α : Type u_1
toSup✝¹ : Sup α
toPartialOrder✝¹ : PartialOrder α
le_sup_left✝¹ : ∀ (a b : α), a ≤ a ⊔ b
le_sup_right✝¹ : ∀ (a b : α), b ≤ a ⊔ b
sup_le✝¹ : ∀ (a b c : α), a ≤ c → b ≤ c → a ⊔ b ≤ c
toSup✝ : Sup α
toPartialOrder✝ : PartialOrder α
le_sup_left✝ : ∀ (a b : α), a ≤ a ⊔ b
le_sup_right✝ : ∀ (a b : α), b ≤ a ⊔ b
sup_le✝ : ∀ (a b c : α), a ≤ c → b ≤ c → a ⊔ b ≤ c
H : ∀ (x y : α), x ≤ y ↔ x ≤ y
ss : toSup = toSup
⊢ mk le_sup_left✝¹ le_sup_right✝¹ sup_le✝¹ = mk le_sup_left✝ le_sup_right✝ sup_le✝
state_after: case mk.mk.refl
α✝ : Type u
β : Type v
inst✝ : SemilatticeSup α✝
a b c d : α✝
α : Type u_1
toSup✝¹ : Sup α
toPartialOrder✝ : PartialOrder α
le_sup_left✝¹ : ∀ (a b : α), a ≤ a ⊔ b
le_sup_right✝¹ : ∀ (a b : α), b ≤ a ⊔ b
sup_le✝¹ : ∀ (a b c : α), a ≤ c → b ≤ c → a ⊔ b ≤ c
toSup✝ : Sup α
le_sup_left✝ : ∀ (a b : α), a ≤ a ⊔ b
le_sup_right✝ : ∀ (a b : α), b ≤ a ⊔ b
sup_le✝ : ∀ (a b c : α), a ≤ c → b ≤ c → a ⊔ b ≤ c
H : ∀ (x y : α), x ≤ y ↔ x ≤ y
ss : toSup = toSup
⊢ mk le_sup_left✝¹ le_sup_right✝¹ sup_le✝¹ = mk le_sup_left✝ le_sup_right✝ sup_le✝
tactic: cases PartialOrder.ext H
state_before: case mk.mk.refl
α✝ : Type u
β : Type v
inst✝ : SemilatticeSup α✝
a b c d : α✝
α : Type u_1
toSup✝¹ : Sup α
toPartialOrder✝ : PartialOrder α
le_sup_left✝¹ : ∀ (a b : α), a ≤ a ⊔ b
le_sup_right✝¹ : ∀ (a b : α), b ≤ a ⊔ b
sup_le✝¹ : ∀ (a b c : α), a ≤ c → b ≤ c → a ⊔ b ≤ c
toSup✝ : Sup α
le_sup_left✝ : ∀ (a b : α), a ≤ a ⊔ b
le_sup_right✝ : ∀ (a b : α), b ≤ a ⊔ b
sup_le✝ : ∀ (a b c : α), a ≤ c → b ≤ c → a ⊔ b ≤ c
H : ∀ (x y : α), x ≤ y ↔ x ≤ y
ss : toSup = toSup
⊢ mk le_sup_left✝¹ le_sup_right✝¹ sup_le✝¹ = mk le_sup_left✝ le_sup_right✝ sup_le✝
state_after: no goals
tactic: congr