α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ b < ↑f⁻¹ a
⊢ 1 = if a ≤ b then -1 else 1
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ b < ↑f⁻¹ a
⊢ (if ↑f⁻¹ { fst := a, snd := b }.fst ≤ ↑f⁻¹ { fst := a, snd := b }.snd then -1 else 1) =
    if
        ↑f ((fun a x => signBijAux f⁻¹ a) { fst := a, snd := b } hab).fst ≤
          ↑f ((fun a x => signBijAux f⁻¹ a) { fst := a, snd := b } hab).snd then
      -1
    else 1
simp_all [signBijAux, dif_pos h, if_neg h.not_le, apply_inv_self, apply_inv_self,
  if_neg (mem_finPairsLT.1 hab).not_le]
case inl
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ b < ↑f⁻¹ a
h₁ : a ≤ b
⊢ 1 = -1

case inr
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ b < ↑f⁻¹ a
h₁ : ¬a ≤ b
⊢ 1 = 1
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ b < ↑f⁻¹ a
⊢ 1 = if a ≤ b then -1 else 1
split_ifs with h₁
case inr
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ b < ↑f⁻¹ a
h₁ : ¬a ≤ b
⊢ 1 = 1
case inl
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ b < ↑f⁻¹ a
h₁ : a ≤ b
⊢ 1 = -1

case inr
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ b < ↑f⁻¹ a
h₁ : ¬a ≤ b
⊢ 1 = 1
. dsimp [finPairsLT] at hab
  simp at hab
  exact absurd h₁ (not_le_of_gt hab)
no goals
case inr
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ b < ↑f⁻¹ a
h₁ : ¬a ≤ b
⊢ 1 = 1
. rfl
case inl
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ Finset.sigma univ fun a => attachFin (range ↑a) (_ : ∀ (x : ℕ), x ∈ range ↑a → x < n)
h : ↑f⁻¹ b < ↑f⁻¹ a
h₁ : a ≤ b
⊢ 1 = -1
case inl
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ b < ↑f⁻¹ a
h₁ : a ≤ b
⊢ 1 = -1
dsimp [finPairsLT] at hab
case inl
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
h : ↑f⁻¹ b < ↑f⁻¹ a
h₁ : a ≤ b
hab : b < a
⊢ 1 = -1
case inl
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ Finset.sigma univ fun a => attachFin (range ↑a) (_ : ∀ (x : ℕ), x ∈ range ↑a → x < n)
h : ↑f⁻¹ b < ↑f⁻¹ a
h₁ : a ≤ b
⊢ 1 = -1
simp at hab
no goals
case inl
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
h : ↑f⁻¹ b < ↑f⁻¹ a
h₁ : a ≤ b
hab : b < a
⊢ 1 = -1
exact absurd h₁ (not_le_of_gt hab)
no goals
case inr
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ b < ↑f⁻¹ a
h₁ : ¬a ≤ b
⊢ 1 = 1
rfl
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ a ≤ ↑f⁻¹ b
⊢ -1 =
    if
        ↑f (if ↑f⁻¹ b < ↑f⁻¹ a then { fst := ↑f⁻¹ a, snd := ↑f⁻¹ b } else { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }).fst ≤
          ↑f (if ↑f⁻¹ b < ↑f⁻¹ a then { fst := ↑f⁻¹ a, snd := ↑f⁻¹ b } else { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }).snd then
      -1
    else 1
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ¬↑f⁻¹ b < ↑f⁻¹ a
⊢ (if ↑f⁻¹ { fst := a, snd := b }.fst ≤ ↑f⁻¹ { fst := a, snd := b }.snd then -1 else 1) =
    if
        ↑f ((fun a x => signBijAux f⁻¹ a) { fst := a, snd := b } hab).fst ≤
          ↑f ((fun a x => signBijAux f⁻¹ a) { fst := a, snd := b } hab).snd then
      -1
    else 1
simp_all [signBijAux, if_pos (le_of_not_gt h), dif_neg h, apply_inv_self, apply_inv_self,
  if_pos (mem_finPairsLT.1 hab).le]
case inl.inl
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ a ≤ ↑f⁻¹ b
h₁ : ↑f⁻¹ b < ↑f⁻¹ a
h₂ : ↑f { fst := ↑f⁻¹ a, snd := ↑f⁻¹ b }.fst ≤ ↑f { fst := ↑f⁻¹ a, snd := ↑f⁻¹ b }.snd
⊢ -1 = -1

case inl.inr
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ a ≤ ↑f⁻¹ b
h₁ : ↑f⁻¹ b < ↑f⁻¹ a
h₂ : ¬↑f { fst := ↑f⁻¹ a, snd := ↑f⁻¹ b }.fst ≤ ↑f { fst := ↑f⁻¹ a, snd := ↑f⁻¹ b }.snd
⊢ -1 = 1

case inr.inl
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ a ≤ ↑f⁻¹ b
h₁ : ¬↑f⁻¹ b < ↑f⁻¹ a
h₃ : ↑f { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }.fst ≤ ↑f { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }.snd
⊢ -1 = -1

case inr.inr
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ a ≤ ↑f⁻¹ b
h₁ : ¬↑f⁻¹ b < ↑f⁻¹ a
h₃ : ¬↑f { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }.fst ≤ ↑f { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }.snd
⊢ -1 = 1
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ a ≤ ↑f⁻¹ b
⊢ -1 =
    if
        ↑f (if ↑f⁻¹ b < ↑f⁻¹ a then { fst := ↑f⁻¹ a, snd := ↑f⁻¹ b } else { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }).fst ≤
          ↑f (if ↑f⁻¹ b < ↑f⁻¹ a then { fst := ↑f⁻¹ a, snd := ↑f⁻¹ b } else { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }).snd then
      -1
    else 1
split_ifs with h₁ h₂ h₃
case inl.inr
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ a ≤ ↑f⁻¹ b
h₁ : ↑f⁻¹ b < ↑f⁻¹ a
h₂ : ¬↑f { fst := ↑f⁻¹ a, snd := ↑f⁻¹ b }.fst ≤ ↑f { fst := ↑f⁻¹ a, snd := ↑f⁻¹ b }.snd
⊢ -1 = 1

case inr.inl
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ a ≤ ↑f⁻¹ b
h₁ : ¬↑f⁻¹ b < ↑f⁻¹ a
h₃ : ↑f { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }.fst ≤ ↑f { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }.snd
⊢ -1 = -1

case inr.inr
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ a ≤ ↑f⁻¹ b
h₁ : ¬↑f⁻¹ b < ↑f⁻¹ a
h₃ : ¬↑f { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }.fst ≤ ↑f { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }.snd
⊢ -1 = 1
case inl.inl
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ a ≤ ↑f⁻¹ b
h₁ : ↑f⁻¹ b < ↑f⁻¹ a
h₂ : ↑f { fst := ↑f⁻¹ a, snd := ↑f⁻¹ b }.fst ≤ ↑f { fst := ↑f⁻¹ a, snd := ↑f⁻¹ b }.snd
⊢ -1 = -1

case inl.inr
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ a ≤ ↑f⁻¹ b
h₁ : ↑f⁻¹ b < ↑f⁻¹ a
h₂ : ¬↑f { fst := ↑f⁻¹ a, snd := ↑f⁻¹ b }.fst ≤ ↑f { fst := ↑f⁻¹ a, snd := ↑f⁻¹ b }.snd
⊢ -1 = 1

case inr.inl
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ a ≤ ↑f⁻¹ b
h₁ : ¬↑f⁻¹ b < ↑f⁻¹ a
h₃ : ↑f { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }.fst ≤ ↑f { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }.snd
⊢ -1 = -1

case inr.inr
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ a ≤ ↑f⁻¹ b
h₁ : ¬↑f⁻¹ b < ↑f⁻¹ a
h₃ : ¬↑f { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }.fst ≤ ↑f { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }.snd
⊢ -1 = 1
. rfl
case inr.inl
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ a ≤ ↑f⁻¹ b
h₁ : ¬↑f⁻¹ b < ↑f⁻¹ a
h₃ : ↑f { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }.fst ≤ ↑f { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }.snd
⊢ -1 = -1

case inr.inr
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ a ≤ ↑f⁻¹ b
h₁ : ¬↑f⁻¹ b < ↑f⁻¹ a
h₃ : ¬↑f { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }.fst ≤ ↑f { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }.snd
⊢ -1 = 1
case inl.inr
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ a ≤ ↑f⁻¹ b
h₁ : ↑f⁻¹ b < ↑f⁻¹ a
h₂ : ¬↑f { fst := ↑f⁻¹ a, snd := ↑f⁻¹ b }.fst ≤ ↑f { fst := ↑f⁻¹ a, snd := ↑f⁻¹ b }.snd
⊢ -1 = 1

case inr.inl
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ a ≤ ↑f⁻¹ b
h₁ : ¬↑f⁻¹ b < ↑f⁻¹ a
h₃ : ↑f { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }.fst ≤ ↑f { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }.snd
⊢ -1 = -1

case inr.inr
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ a ≤ ↑f⁻¹ b
h₁ : ¬↑f⁻¹ b < ↑f⁻¹ a
h₃ : ¬↑f { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }.fst ≤ ↑f { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }.snd
⊢ -1 = 1
. exact absurd h (not_le_of_gt h₁)
case inr.inr
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ a ≤ ↑f⁻¹ b
h₁ : ¬↑f⁻¹ b < ↑f⁻¹ a
h₃ : ¬↑f { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }.fst ≤ ↑f { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }.snd
⊢ -1 = 1
case inr.inl
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ a ≤ ↑f⁻¹ b
h₁ : ¬↑f⁻¹ b < ↑f⁻¹ a
h₃ : ↑f { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }.fst ≤ ↑f { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }.snd
⊢ -1 = -1

case inr.inr
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ a ≤ ↑f⁻¹ b
h₁ : ¬↑f⁻¹ b < ↑f⁻¹ a
h₃ : ¬↑f { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }.fst ≤ ↑f { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }.snd
⊢ -1 = 1
. rfl
no goals
case inr.inr
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ a ≤ ↑f⁻¹ b
h₁ : ¬↑f⁻¹ b < ↑f⁻¹ a
h₃ : ¬↑f { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }.fst ≤ ↑f { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }.snd
⊢ -1 = 1
. dsimp at *
  dsimp [finPairsLT] at hab
  simp at *
  exact absurd h₃ (asymm_of LT.lt hab)
no goals
case inl.inl
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ a ≤ ↑f⁻¹ b
h₁ : ↑f⁻¹ b < ↑f⁻¹ a
h₂ : ↑f { fst := ↑f⁻¹ a, snd := ↑f⁻¹ b }.fst ≤ ↑f { fst := ↑f⁻¹ a, snd := ↑f⁻¹ b }.snd
⊢ -1 = -1
rfl
no goals
case inl.inr
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ a ≤ ↑f⁻¹ b
h₁ : ↑f⁻¹ b < ↑f⁻¹ a
h₂ : ¬↑f { fst := ↑f⁻¹ a, snd := ↑f⁻¹ b }.fst ≤ ↑f { fst := ↑f⁻¹ a, snd := ↑f⁻¹ b }.snd
⊢ -1 = 1
exact absurd h (not_le_of_gt h₁)
no goals
case inr.inl
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ a ≤ ↑f⁻¹ b
h₁ : ¬↑f⁻¹ b < ↑f⁻¹ a
h₃ : ↑f { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }.fst ≤ ↑f { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }.snd
⊢ -1 = -1
rfl
case inr.inr
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ a ≤ ↑f⁻¹ b
h₁ : ¬↑f⁻¹ b < ↑f⁻¹ a
h₃ : ¬↑f (↑f⁻¹ b) ≤ ↑f (↑f⁻¹ a)
⊢ -1 = 1
case inr.inr
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ a ≤ ↑f⁻¹ b
h₁ : ¬↑f⁻¹ b < ↑f⁻¹ a
h₃ : ¬↑f { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }.fst ≤ ↑f { fst := ↑f⁻¹ b, snd := ↑f⁻¹ a }.snd
⊢ -1 = 1
dsimp at *
case inr.inr
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ Finset.sigma univ fun a => attachFin (range ↑a) (_ : ∀ (x : ℕ), x ∈ range ↑a → x < n)
h : ↑f⁻¹ a ≤ ↑f⁻¹ b
h₁ : ¬↑f⁻¹ b < ↑f⁻¹ a
h₃ : ¬↑f (↑f⁻¹ b) ≤ ↑f (↑f⁻¹ a)
⊢ -1 = 1
case inr.inr
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ finPairsLT n
h : ↑f⁻¹ a ≤ ↑f⁻¹ b
h₁ : ¬↑f⁻¹ b < ↑f⁻¹ a
h₃ : ¬↑f (↑f⁻¹ b) ≤ ↑f (↑f⁻¹ a)
⊢ -1 = 1
dsimp [finPairsLT] at hab
case inr.inr
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
h : ↑f⁻¹ a ≤ ↑f⁻¹ b
hab : b < a
h₁ : ↑f⁻¹ a ≤ ↑f⁻¹ b
h₃ : a < b
⊢ False
case inr.inr
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
hab : { fst := a, snd := b } ∈ Finset.sigma univ fun a => attachFin (range ↑a) (_ : ∀ (x : ℕ), x ∈ range ↑a → x < n)
h : ↑f⁻¹ a ≤ ↑f⁻¹ b
h₁ : ¬↑f⁻¹ b < ↑f⁻¹ a
h₃ : ¬↑f (↑f⁻¹ b) ≤ ↑f (↑f⁻¹ a)
⊢ -1 = 1
simp at *
no goals
case inr.inr
α : Type u
β : Type v
inst✝ : DecidableEq α
n : ℕ
f : Perm (Fin n)
x✝ : (_ : Fin n) × Fin n
a b : Fin n
h : ↑f⁻¹ a ≤ ↑f⁻¹ b
hab : b < a
h₁ : ↑f⁻¹ a ≤ ↑f⁻¹ b
h₃ : a < b
⊢ False
exact absurd h₃ (asymm_of LT.lt hab)