Theorem: Path.Homotopy.reflTransSymmAux_mem_I
File: Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean

tactic: dsimp only [reflTransSymmAux]
state_before: X : Type u
Y : Type v
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x₀ x₁ : X
x : ↑I × ↑I
⊢ reflTransSymmAux x ∈ I

tactic: split_ifs
state_before: X : Type u
Y : Type v
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x₀ x₁ : X
x : ↑I × ↑I
⊢ (if ↑x.snd ≤ 1 / 2 then ↑x.fst * 2 * ↑x.snd else ↑x.fst * (2 - 2 * ↑x.snd)) ∈ I

tactic: constructor
state_before: case inl
X : Type u
Y : Type v
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x₀ x₁ : X
x : ↑I × ↑I
h✝ : ↑x.snd ≤ 1 / 2
⊢ ↑x.fst * 2 * ↑x.snd ∈ I

tactic: apply mul_nonneg
state_before: case inl.left
X : Type u
Y : Type v
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x₀ x₁ : X
x : ↑I × ↑I
h✝ : ↑x.snd ≤ 1 / 2
⊢ 0 ≤ ↑x.fst * 2 * ↑x.snd

tactic: apply mul_nonneg
state_before: case inl.left.ha
X : Type u
Y : Type v
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x₀ x₁ : X
x : ↑I × ↑I
h✝ : ↑x.snd ≤ 1 / 2
⊢ 0 ≤ ↑x.fst * 2

tactic: unit_interval
state_before: case inl.left.ha.ha
X : Type u
Y : Type v
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x₀ x₁ : X
x : ↑I × ↑I
h✝ : ↑x.snd ≤ 1 / 2
⊢ 0 ≤ ↑x.fst

tactic: norm_num
state_before: case inl.left.ha.hb
X : Type u
Y : Type v
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x₀ x₁ : X
x : ↑I × ↑I
h✝ : ↑x.snd ≤ 1 / 2
⊢ 0 ≤ 2

tactic: unit_interval
state_before: case inl.left.hb
X : Type u
Y : Type v
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x₀ x₁ : X
x : ↑I × ↑I
h✝ : ↑x.snd ≤ 1 / 2
⊢ 0 ≤ ↑x.snd

tactic: rw [mul_assoc]
state_before: case inl.right
X : Type u
Y : Type v
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x₀ x₁ : X
x : ↑I × ↑I
h✝ : ↑x.snd ≤ 1 / 2
⊢ ↑x.fst * 2 * ↑x.snd ≤ 1

tactic: apply mul_le_one
state_before: case inl.right
X : Type u
Y : Type v
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x₀ x₁ : X
x : ↑I × ↑I
h✝ : ↑x.snd ≤ 1 / 2
⊢ ↑x.fst * (2 * ↑x.snd) ≤ 1

tactic: unit_interval
state_before: case inl.right.ha
X : Type u
Y : Type v
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x₀ x₁ : X
x : ↑I × ↑I
h✝ : ↑x.snd ≤ 1 / 2
⊢ ↑x.fst ≤ 1

tactic: apply mul_nonneg
state_before: case inl.right.hb'
X : Type u
Y : Type v
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x₀ x₁ : X
x : ↑I × ↑I
h✝ : ↑x.snd ≤ 1 / 2
⊢ 0 ≤ 2 * ↑x.snd

tactic: norm_num
state_before: case inl.right.hb'.ha
X : Type u
Y : Type v
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x₀ x₁ : X
x : ↑I × ↑I
h✝ : ↑x.snd ≤ 1 / 2
⊢ 0 ≤ 2

tactic: unit_interval
state_before: case inl.right.hb'.hb
X : Type u
Y : Type v
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x₀ x₁ : X
x : ↑I × ↑I
h✝ : ↑x.snd ≤ 1 / 2
⊢ 0 ≤ ↑x.snd

tactic: linarith
state_before: case inl.right.hb
X : Type u
Y : Type v
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x₀ x₁ : X
x : ↑I × ↑I
h✝ : ↑x.snd ≤ 1 / 2
⊢ 2 * ↑x.snd ≤ 1

tactic: constructor
state_before: case inr
X : Type u
Y : Type v
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x₀ x₁ : X
x : ↑I × ↑I
h✝ : ¬↑x.snd ≤ 1 / 2
⊢ ↑x.fst * (2 - 2 * ↑x.snd) ∈ I

tactic: apply mul_nonneg
state_before: case inr.left
X : Type u
Y : Type v
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x₀ x₁ : X
x : ↑I × ↑I
h✝ : ¬↑x.snd ≤ 1 / 2
⊢ 0 ≤ ↑x.fst * (2 - 2 * ↑x.snd)

tactic: linarith [unitInterval.nonneg x.2, unitInterval.le_one x.2]
state_before: case inr.left.hb
X : Type u
Y : Type v
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x₀ x₁ : X
x : ↑I × ↑I
h✝ : ¬↑x.snd ≤ 1 / 2
⊢ 0 ≤ 2 - 2 * ↑x.snd

tactic: unit_interval
state_before: case inr.left.ha
X : Type u
Y : Type v
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x₀ x₁ : X
x : ↑I × ↑I
h✝ : ¬↑x.snd ≤ 1 / 2
⊢ 0 ≤ ↑x.fst

tactic: apply mul_le_one
state_before: case inr.right
X : Type u
Y : Type v
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x₀ x₁ : X
x : ↑I × ↑I
h✝ : ¬↑x.snd ≤ 1 / 2
⊢ ↑x.fst * (2 - 2 * ↑x.snd) ≤ 1

tactic: unit_interval
state_before: case inr.right.ha
X : Type u
Y : Type v
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x₀ x₁ : X
x : ↑I × ↑I
h✝ : ¬↑x.snd ≤ 1 / 2
⊢ ↑x.fst ≤ 1

tactic: linarith [unitInterval.nonneg x.2, unitInterval.le_one x.2]
state_before: case inr.right.hb'
X : Type u
Y : Type v
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x₀ x₁ : X
x : ↑I × ↑I
h✝ : ¬↑x.snd ≤ 1 / 2
⊢ 0 ≤ 2 - 2 * ↑x.snd

tactic: linarith [unitInterval.nonneg x.2, unitInterval.le_one x.2]
state_before: case inr.right.hb
X : Type u
Y : Type v
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x₀ x₁ : X
x : ↑I × ↑I
h✝ : ¬↑x.snd ≤ 1 / 2
⊢ 2 - 2 * ↑x.snd ≤ 1