Skip to content

Commit 4c6f7f4

Browse files
committed
Simplify Sublist/Heterogeneous/antisym: factor out contradiction
1 parent f39d417 commit 4c6f7f4

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

src/Data/List/Relation/Binary/Sublist/Heterogeneous/Properties.agda

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -400,18 +400,19 @@ module Antisymmetry
400400

401401
open ℕ.≤-Reasoning
402402

403+
private
404+
antisym-lemma : xs ys₁ y Sublist R xs ys₁ ¬ Sublist S (y ∷ ys₁) xs
405+
antisym-lemma xs ys₁ y rs ss = ℕ.<-irrefl ≡.refl (begin
406+
length (y ∷ ys₁) ≤⟨ length-mono-≤ ss ⟩
407+
length xs ≤⟨ length-mono-≤ rs ⟩
408+
length ys₁ ∎)
409+
403410
antisym : Antisym (Sublist R) (Sublist S) (Pointwise E)
404411
-- impossible cases
405412
antisym (_∷ʳ_ {xs} {ys₁} y rs) ss =
406-
contradiction (begin
407-
length (y ∷ ys₁) ≤⟨ length-mono-≤ ss ⟩
408-
length xs ≤⟨ length-mono-≤ rs ⟩
409-
length ys₁ ∎) $ ℕ.<-irrefl ≡.refl
413+
case (antisym-lemma xs ys₁ y rs ss) of λ()
410414
antisym (_∷_ {x} {xs} {y} {ys₁} r rs) (_∷ʳ_ {ys₂} {zs} z ss) =
411-
contradiction (begin
412-
length (y ∷ ys₁) ≤⟨ length-mono-≤ ss ⟩
413-
length xs ≤⟨ length-mono-≤ rs ⟩
414-
length ys₁ ∎) $ ℕ.<-irrefl ≡.refl
415+
case (antisym-lemma xs ys₁ y rs ss) of λ()
415416
-- diagonal cases
416417
antisym [] [] = []
417418
antisym (r ∷ rs) (s ∷ ss) = rs⇒e r s ∷ antisym rs ss

0 commit comments

Comments
 (0)