For this presentation, we keep the dependencies to a minimum.
diff --git a/src/Bool.agda b/src/Bool.agda | |
index 25a0a7f..ff7c092 100644 | |
--- a/src/Bool.agda | |
+++ b/src/Bool.agda | |
@@ -86,7 +86,7 @@ not≡↔≡not {false} {false} = | |
-- Some lemmas related to T. | |
-T↔≡true : ∀ {b} → T b ↔ b ≡ true | |
+T↔≡true : {b : Bool} → T b ↔ b ≡ true |
{- | |
====================================== | |
=== THE GREAT RESURRECTION OF PROP === | |
====================================== | |
Bringing back the impredicative sort Prop of definitionally proof-irrelevant propositions to Agda. | |
To check this file, get the prop-rezz branch of Agda at https://github.com/jespercockx/agda/tree/prop-rezz. | |
This file is a short demo meant to show what you currently can (and can't) do with Prop. |
{-# OPTIONS --guardedness #-} | |
open import Agda.Builtin.Unit | |
open import Agda.Builtin.Size | |
record _×_ (A B : Set) : Set where | |
constructor _,_ | |
field | |
fst : A | |
snd : B |
Without covering clauses | |
----------------------------------------- | |
512K ./src/Algebra.agdai | |
28K ./src/Debug/Trace.agdai | |
72K ./src/Record.agdai | |
52K ./src/Function.agdai | |
20K ./src/Strict.agdai | |
64K ./src/Induction/Lexicographic.agdai | |
24K ./src/Induction/Nat.agdai |
{-# OPTIONS --without-K --rewriting --prop #-} | |
open import Agda.Primitive | |
open import Agda.Builtin.Nat | |
open import Agda.Builtin.Equality | |
variable | |
ℓ : Level | |
A B C : Set ℓ | |
x y z : A |
How to formalize stuff in Agda | |
============================== | |
Preliminaries | |
------------- | |
For this presentation, we keep the dependencies to a minimum. | |
``` |
{-# OPTIONS --without-K #-} | |
open import Agda.Builtin.Equality | |
_∘_ : ∀ {a b c} {A : Set a} {B : A → Set b} {C : {x : A} → B x → Set c} | |
→ (f : {x : A} (y : B x) → C y) (g : (x : A) → B x) | |
→ (x : A) → C (g x) | |
(f ∘ g) x = f (g x) | |
_⁻¹ : {A : Set} {x y : A} → x ≡ y → y ≡ x |
open import Agda.Primitive | |
open import Data.Bool.Base | |
open import Data.Nat.Base | |
open import Data.List.Base | |
open import Data.Product using (_×_; _,_; proj₁; proj₂) | |
import Data.String.Base as String | |
open import Data.Unit.Base | |
open import Function using (id; _∘_) |
{-# OPTIONS --rewriting #-} | |
open import Data.Empty using (⊥; ⊥-elim) | |
open import Data.Unit using (⊤; tt) | |
open import Data.Bool using (Bool; true; false; if_then_else_) | |
open import Data.Product using (Σ; Σ-syntax; _×_; _,_; proj₁; proj₂) | |
open import Relation.Binary.PropositionalEquality | |
Π : (A : Set) (B : A → Set) → Set | |
Π A B = (x : A) → B x |