Theorem: Tutorial.unique_left (GlimpseOfLean/Solutions/Topics/GaloisAdjunctions.lean)

State before:
X : Type
inst✝³ : PartialOrder X
inst✝² : CompleteLattice X
Y : Type
inst✝¹ : PartialOrder Y
inst✝ : CompleteLattice Y
l l' : X → Y
r : Y → X
h : adjunction l r
h' : adjunction l' r
⊢ l = l'
Tactic:
ext x
State after:
case h
X : Type
inst✝³ : PartialOrder X
inst✝² : CompleteLattice X
Y : Type
inst✝¹ : PartialOrder Y
inst✝ : CompleteLattice Y
l l' : X → Y
r : Y → X
h : adjunction l r
h' : adjunction l' r
x : X
⊢ l x = l' x

State before:
case h
X : Type
inst✝³ : PartialOrder X
inst✝² : CompleteLattice X
Y : Type
inst✝¹ : PartialOrder Y
inst✝ : CompleteLattice Y
l l' : X → Y
r : Y → X
h : adjunction l r
h' : adjunction l' r
x : X
⊢ l x = l' x
Tactic:
apply le_antisymm
State after:
case h.a
X : Type
inst✝³ : PartialOrder X
inst✝² : CompleteLattice X
Y : Type
inst✝¹ : PartialOrder Y
inst✝ : CompleteLattice Y
l l' : X → Y
r : Y → X
h : adjunction l r
h' : adjunction l' r
x : X
⊢ l x ≤ l' x

case h.a
X : Type
inst✝³ : PartialOrder X
inst✝² : CompleteLattice X
Y : Type
inst✝¹ : PartialOrder Y
inst✝ : CompleteLattice Y
l l' : X → Y
r : Y → X
h : adjunction l r
h' : adjunction l' r
x : X
⊢ l' x ≤ l x

State before:
case h.a
X : Type
inst✝³ : PartialOrder X
inst✝² : CompleteLattice X
Y : Type
inst✝¹ : PartialOrder Y
inst✝ : CompleteLattice Y
l l' : X → Y
r : Y → X
h : adjunction l r
h' : adjunction l' r
x : X
⊢ l x ≤ l' x
Tactic:
rw [h, ← h']
State after:
no goals

State before:
case h.a
X : Type
inst✝³ : PartialOrder X
inst✝² : CompleteLattice X
Y : Type
inst✝¹ : PartialOrder Y
inst✝ : CompleteLattice Y
l l' : X → Y
r : Y → X
h : adjunction l r
h' : adjunction l' r
x : X
⊢ l' x ≤ l x
Tactic:
rw [h', ← h]
State after:
no goals