Theorem: AddConstMapClass.rel_map_of_Icc
File: Mathlib/Algebra/AddConstMap/Basic.lean

Proof steps:
state_before: F : Type u_1
G : Type u_2
H : Type u_3
inst✝⁵ : FunLike F G H
a : G
b : H
inst✝⁴ : LinearOrderedAddCommGroup G
inst✝³ : Archimedean G
inst✝² : AddGroup H
inst✝¹ : AddConstMapClass F G H a b
f : F
R : H → H → Prop
inst✝ : IsTrans H R
hR : CovariantClass H H (fun x y => y + x) R
ha : 0 < a
l : G
hf : ∀ x ∈ Icc l (l + a), ∀ y ∈ Icc l (l + a), x < y → R (f x) (f y)
x y : G
hxy : (fun x x_1 => x < x_1) x y
⊢ R (f x) (f y)
state_after: F : Type u_1
G : Type u_2
H : Type u_3
inst✝⁵ : FunLike F G H
a : G
b : H
inst✝⁴ : LinearOrderedAddCommGroup G
inst✝³ : Archimedean G
inst✝² : AddGroup H
inst✝¹ : AddConstMapClass F G H a b
f : F
R : H → H → Prop
inst✝ : IsTrans H R
ha : 0 < a
l : G
hf : ∀ x ∈ Icc l (l + a), ∀ y ∈ Icc l (l + a), x < y → R (f x) (f y)
x y : G
hxy : (fun x x_1 => x < x_1) x y
hR : Covariant H H (fun x y => y + x) R
⊢ R (f x) (f y)
tactic: replace hR := hR.elim
state_before: F : Type u_1
G : Type u_2
H : Type u_3
inst✝⁵ : FunLike F G H
a : G
b : H
inst✝⁴ : LinearOrderedAddCommGroup G
inst✝³ : Archimedean G
inst✝² : AddGroup H
inst✝¹ : AddConstMapClass F G H a b
f : F
R : H → H → Prop
inst✝ : IsTrans H R
ha : 0 < a
l : G
hf : ∀ x ∈ Icc l (l + a), ∀ y ∈ Icc l (l + a), x < y → R (f x) (f y)
x y : G
hxy : (fun x x_1 => x < x_1) x y
hR : Covariant H H (fun x y => y + x) R
⊢ R (f x) (f y)
state_after: F : Type u_1
G : Type u_2
H : Type u_3
inst✝⁵ : FunLike F G H
a : G
b : H
inst✝⁴ : LinearOrderedAddCommGroup G
inst✝³ : Archimedean G
inst✝² : AddGroup H
inst✝¹ : AddConstMapClass F G H a b
f : F
R : H → H → Prop
inst✝ : IsTrans H R
ha : 0 < a
l : G
hf : ∀ x ∈ Icc l (l + a), ∀ y ∈ Icc l (l + a), x < y → R (f x) (f y)
x y : G
hxy : (fun x x_1 => x < x_1) x y
hR : Covariant H H (fun x y => y + x) R
ha' : 0 ≤ a
⊢ R (f x) (f y)
tactic: have ha' : 0 ≤ a := ha.le
state_before: F : Type u_1
G : Type u_2
H : Type u_3
inst✝⁵ : FunLike F G H
a : G
b : H
inst✝⁴ : LinearOrderedAddCommGroup G
inst✝³ : Archimedean G
inst✝² : AddGroup H
inst✝¹ : AddConstMapClass F G H a b
f : F
R : H → H → Prop
inst✝ : IsTrans H R
ha : 0 < a
l : G
hf : ∀ x ∈ Icc l (l + a), ∀ y ∈ Icc l (l + a), x < y → R (f x) (f y)
x y : G
hxy : (fun x x_1 => x < x_1) x y
hR : Covariant H H (fun x y => y + x) R
ha' : 0 ≤ a
⊢ R (f x) (f y)
state_after: case inr
F : Type u_1
G : Type u_2
H : Type u_3
inst✝⁵ : FunLike F G H
a : G
b : H
inst✝⁴ : LinearOrderedAddCommGroup G
inst✝³ : Archimedean G
inst✝² : AddGroup H
inst✝¹ : AddConstMapClass F G H a b
f : F
R : H → H → Prop
inst✝ : IsTrans H R
ha : 0 < a
l : G
hf : ∀ x ∈ Icc l (l + a), ∀ y ∈ Icc l (l + a), x < y → R (f x) (f y)
x y : G
hxy : (fun x x_1 => x < x_1) x y
hR : Covariant H H (fun x y => y + x) R
ha' : 0 ≤ a
this : ∀ (x y : G), x < y → x ∈ Ico l (l + a) → R (f x) (f y)
hx : x ∉ Ico l (l + a)
⊢ R (f x) (f y)

F : Type u_1
G : Type u_2
H : Type u_3
inst✝⁵ : FunLike F G H
a : G
b : H
inst✝⁴ : LinearOrderedAddCommGroup G
inst✝³ : Archimedean G
inst✝² : AddGroup H
inst✝¹ : AddConstMapClass F G H a b
f : F
R : H → H → Prop
inst✝ : IsTrans H R
ha : 0 < a
l : G
hf : ∀ x ∈ Icc l (l + a), ∀ y ∈ Icc l (l + a), x < y → R (f x) (f y)
hR : Covariant H H (fun x y => y + x) R
ha' : 0 ≤ a
x y : G
hxy : x < y
hx : x ∈ Ico l (l + a)
⊢ R (f x) (f y)
tactic: wlog hx : x ∈ Ico l (l + a) generalizing x y