# HG changeset patch # User Shinji KONO # Date 1573261474 -32400 # Node ID 9911911b77cbd60cab0750cd12a8951f65d0ddf7 # Parent 29d81bcff049c39d9be94537391eb47350124772 all foundables diff -r 29d81bcff049 -r 9911911b77cb agda/finiteSet.agda --- a/agda/finiteSet.agda Sat Nov 09 07:47:32 2019 +0900 +++ b/agda/finiteSet.agda Sat Nov 09 10:04:34 2019 +0900 @@ -13,9 +13,12 @@ open import Relation.Binary.HeterogeneousEquality as HE using (_≅_ ) +record Found ( Q : Set ) (p : Q → Bool ) : Set where + field + found : Q + found-p : p found ≡ true -record FiniteSet ( Q : Set ) { n : ℕ } - : Set where +record FiniteSet ( Q : Set ) { n : ℕ } : Set where field Q←F : Fin n → Q F←Q : Q → Fin n @@ -45,28 +48,31 @@ i=j : {n : ℕ} (i j : Fin n) → toℕ i ≡ toℕ j → i ≡ j i=j {suc n} zero zero refl = refl i=j {suc n} (suc i) (suc j) eq = cong ( λ k → suc k ) ( i=j i j (cong ( λ k → Data.Nat.pred k ) eq) ) - found : { p : Q → Bool } → {q : Q } → p q ≡ true → exists p ≡ true - found {p} {q} pt = found1 n (lt0 n) (λ i i>n → ⊥-elim (nat-≤> i>n (fin ¬a ¬b c = ⊥-elim ( nat-≤> m ¬a ¬b c = ⊥-elim ( nat-≤> mn = ⊥-elim (nat-≤> i>n (fin