@@ -242,15 +242,11 @@ insert {m} {n} i j π = permutation to from inverseˡ′ inverseʳ′
242242 with j≢punchInⱼπʳpunchOuti≢k ← punchInᵢ≢i j (π ⟨$⟩ʳ punchOut i≢k) ∘ sym
243243 rewrite ≟-off-diag j≢punchInⱼπʳpunchOuti≢k
244244 = begin
245- punchIn i (π ⟨$⟩ˡ punchOut j≢punchInⱼπʳpunchOuti≢k)
246- ≡⟨ cong (λ l → punchIn i (π ⟨$⟩ˡ l)) (punchOut-cong j refl) ⟩
247- punchIn i (π ⟨$⟩ˡ punchOut (punchInᵢ≢i j (π ⟨$⟩ʳ punchOut i≢k) ∘ sym))
248- ≡⟨ cong (λ l → punchIn i (π ⟨$⟩ˡ l)) (punchOut-punchIn j) ⟩
249- punchIn i (π ⟨$⟩ˡ (π ⟨$⟩ʳ punchOut i≢k))
250- ≡⟨ cong (punchIn i) (inverseˡ π) ⟩
251- punchIn i (punchOut i≢k)
252- ≡⟨ punchIn-punchOut i≢k ⟩
253- k ∎
245+ punchIn i (π ⟨$⟩ˡ punchOut j≢punchInⱼπʳpunchOuti≢k) ≡⟨ cong (λ l → punchIn i (π ⟨$⟩ˡ l)) (punchOut-cong j refl) ⟩
246+ punchIn i (π ⟨$⟩ˡ punchOut (punchInᵢ≢i j (π ⟨$⟩ʳ punchOut i≢k) ∘ sym)) ≡⟨ cong (λ l → punchIn i (π ⟨$⟩ˡ l)) (punchOut-punchIn j) ⟩
247+ punchIn i (π ⟨$⟩ˡ (π ⟨$⟩ʳ punchOut i≢k)) ≡⟨ cong (punchIn i) (inverseˡ π) ⟩
248+ punchIn i (punchOut i≢k) ≡⟨ punchIn-punchOut i≢k ⟩
249+ k ∎
254250
255251 inverseˡ′ : StrictlyInverseˡ _≡_ to from
256252 inverseˡ′ k with j ≟ k
@@ -259,15 +255,11 @@ insert {m} {n} i j π = permutation to from inverseˡ′ inverseʳ′
259255 with i≢punchInᵢπˡpunchOutj≢k ← punchInᵢ≢i i (π ⟨$⟩ˡ punchOut j≢k) ∘ sym
260256 rewrite ≟-off-diag i≢punchInᵢπˡpunchOutj≢k
261257 = begin
262- punchIn j (π ⟨$⟩ʳ punchOut i≢punchInᵢπˡpunchOutj≢k)
263- ≡⟨ cong (λ l → punchIn j (π ⟨$⟩ʳ l)) (punchOut-cong i refl) ⟩
264- punchIn j (π ⟨$⟩ʳ punchOut (punchInᵢ≢i i (π ⟨$⟩ˡ punchOut j≢k) ∘ sym))
265- ≡⟨ cong (λ l → punchIn j (π ⟨$⟩ʳ l)) (punchOut-punchIn i) ⟩
266- punchIn j (π ⟨$⟩ʳ (π ⟨$⟩ˡ punchOut j≢k))
267- ≡⟨ cong (punchIn j) (inverseʳ π) ⟩
268- punchIn j (punchOut j≢k)
269- ≡⟨ punchIn-punchOut j≢k ⟩
270- k ∎
258+ punchIn j (π ⟨$⟩ʳ punchOut i≢punchInᵢπˡpunchOutj≢k) ≡⟨ cong (λ l → punchIn j (π ⟨$⟩ʳ l)) (punchOut-cong i refl) ⟩
259+ punchIn j (π ⟨$⟩ʳ punchOut (punchInᵢ≢i i (π ⟨$⟩ˡ punchOut j≢k) ∘ sym)) ≡⟨ cong (λ l → punchIn j (π ⟨$⟩ʳ l)) (punchOut-punchIn i) ⟩
260+ punchIn j (π ⟨$⟩ʳ (π ⟨$⟩ˡ punchOut j≢k)) ≡⟨ cong (punchIn j) (inverseʳ π) ⟩
261+ punchIn j (punchOut j≢k) ≡⟨ punchIn-punchOut j≢k ⟩
262+ k ∎
271263
272264------------------------------------------------------------------------
273265-- Swapping
@@ -343,29 +335,20 @@ insert-punchIn : ∀ i j (π : Permutation m n) k → insert i j π ⟨$⟩ʳ pu
343335insert-punchIn i j π k with i ≟ punchIn i k
344336... | yes i≡punchInᵢk = contradiction (sym i≡punchInᵢk) (punchInᵢ≢i i k)
345337... | no i≢punchInᵢk = begin
346- punchIn j (π ⟨$⟩ʳ punchOut i≢punchInᵢk)
347- ≡⟨ cong (λ l → punchIn j (π ⟨$⟩ʳ l)) (punchOut-cong i refl) ⟩
348- punchIn j (π ⟨$⟩ʳ punchOut (punchInᵢ≢i i k ∘ sym))
349- ≡⟨ cong (λ l → punchIn j (π ⟨$⟩ʳ l)) (punchOut-punchIn i) ⟩
350- punchIn j (π ⟨$⟩ʳ k)
351- ∎
338+ punchIn j (π ⟨$⟩ʳ punchOut i≢punchInᵢk) ≡⟨ cong (λ l → punchIn j (π ⟨$⟩ʳ l)) (punchOut-cong i refl) ⟩
339+ punchIn j (π ⟨$⟩ʳ punchOut (punchInᵢ≢i i k ∘ sym)) ≡⟨ cong (λ l → punchIn j (π ⟨$⟩ʳ l)) (punchOut-punchIn i) ⟩
340+ punchIn j (π ⟨$⟩ʳ k) ∎
352341
353342insert-remove : ∀ i (π : Permutation (suc m) (suc n)) → insert i (π ⟨$⟩ʳ i) (remove i π) ≈ π
354343insert-remove {m = m} {n = n} i π j with i ≟ j
355344... | yes i≡j = cong (π ⟨$⟩ʳ_) i≡j
356345... | no i≢j = begin
357- punchIn (π ⟨$⟩ʳ i) (punchOut (punchInᵢ≢i i (punchOut i≢j) ∘ sym ∘ Injection.injective (↔⇒↣ π)))
358- ≡⟨ punchIn-punchOut _ ⟩
359- π ⟨$⟩ʳ punchIn i (punchOut i≢j)
360- ≡⟨ cong (π ⟨$⟩ʳ_) (punchIn-punchOut i≢j) ⟩
361- π ⟨$⟩ʳ j
362- ∎
346+ punchIn (π ⟨$⟩ʳ i) (punchOut (punchInᵢ≢i i (punchOut i≢j) ∘ sym ∘ Injection.injective (↔⇒↣ π))) ≡⟨ punchIn-punchOut _ ⟩
347+ π ⟨$⟩ʳ punchIn i (punchOut i≢j) ≡⟨ cong (π ⟨$⟩ʳ_) (punchIn-punchOut i≢j) ⟩
348+ π ⟨$⟩ʳ j ∎
363349
364350remove-insert : ∀ i j (π : Permutation m n) → remove i (insert i j π) ≈ π
365351remove-insert i j π k rewrite ≟-diag-refl i = begin
366- punchOut {i = j} _
367- ≡⟨ punchOut-cong j (insert-punchIn i j π k) ⟩
368- punchOut {i = j} (punchInᵢ≢i j (π ⟨$⟩ʳ k) ∘ sym)
369- ≡⟨ punchOut-punchIn j ⟩
370- π ⟨$⟩ʳ k
371- ∎
352+ punchOut {i = j} _ ≡⟨ punchOut-cong j (insert-punchIn i j π k) ⟩
353+ punchOut {i = j} (punchInᵢ≢i j (π ⟨$⟩ʳ k) ∘ sym) ≡⟨ punchOut-punchIn j ⟩
354+ π ⟨$⟩ʳ k ∎
0 commit comments