2022-07-15 19:39:11 +03:00
|
|
|
module M;
|
|
|
|
|
2023-01-03 15:49:04 +03:00
|
|
|
type Bool :=
|
2023-04-12 11:07:01 +03:00
|
|
|
| true : Bool
|
2023-01-03 15:49:04 +03:00
|
|
|
| false : Bool;
|
2022-07-15 19:39:11 +03:00
|
|
|
|
2023-10-31 20:36:34 +03:00
|
|
|
type T := t : T;
|
2022-07-15 19:39:11 +03:00
|
|
|
|
2023-01-03 15:49:04 +03:00
|
|
|
type Nat :=
|
2023-04-12 11:07:01 +03:00
|
|
|
| zero : Nat
|
2023-01-03 15:49:04 +03:00
|
|
|
| suc : Nat → Nat;
|
2022-07-15 19:39:11 +03:00
|
|
|
|
2023-07-11 18:22:07 +03:00
|
|
|
f : _
|
|
|
|
| false false := true
|
|
|
|
| true _ := false;
|
2022-07-15 19:39:11 +03:00
|
|
|
|
2023-01-03 15:49:04 +03:00
|
|
|
type Pair (A : Type) (B : Type) :=
|
2023-10-31 20:36:34 +03:00
|
|
|
mkPair : A → B → Pair A B;
|
2022-07-15 19:39:11 +03:00
|
|
|
|
2023-07-11 18:22:07 +03:00
|
|
|
g : _
|
|
|
|
| (mkPair (mkPair zero false) true) := mkPair false zero;
|