BasicSpec.hascasl.output revision 715ffaf874309df081d1e1cd8e05073fc1227729
e687bd70d6e6c98d82b239e01fef4a60de6739f4Till Mossakowskiclass Type < Type
0095c7efbddd0ffeed6aaf8ec015346be161d819Till Mossakowskiclass TYPE < {x . x < t}
e687bd70d6e6c98d82b239e01fef4a60de6739f4Till Mossakowskitype : Type- -> Type; Unit : TYPE
be408ef9713fbbbaf7bde82618f7d3f204fe806cTill Mossakowskiclass a, b, c < Type
be408ef9713fbbbaf7bde82618f7d3f204fe806cTill Mossakowskiclass a, b, c < Type; a < b
be408ef9713fbbbaf7bde82618f7d3f204fe806cTill Mossakowskiprogram (pred tt : s) = \ (var x : s) . ()
be408ef9713fbbbaf7bde82618f7d3f204fe806cTill Mossakowskiprogram __ res __ (x : s, y : t) : s = x;
be408ef9713fbbbaf7bde82618f7d3f204fe806cTill Mossakowski fst (x : s, y : t) : s = x; snd (x : s, y : t) : t = y
be408ef9713fbbbaf7bde82618f7d3f204fe806cTill Mossakowskipred eq : s * s
be408ef9713fbbbaf7bde82618f7d3f204fe806cTill Mossakowskiprogram all (p : (? s)) : (? Unit) = eq (p, tt)
be408ef9713fbbbaf7bde82618f7d3f204fe806cTill Mossakowskiprogram And (x, y : (? Unit)) : (? Unit) = t1 () res t2 ()
be408ef9713fbbbaf7bde82618f7d3f204fe806cTill Mossakowskiprogram __ impl __ (x, y : (? Unit)) = eq (x, x And y)
be408ef9713fbbbaf7bde82618f7d3f204fe806cTill Mossakowskiprogram __ or __ (x, y : (? Unit)) : (? Unit) =
be408ef9713fbbbaf7bde82618f7d3f204fe806cTill Mossakowski all (\ r : (? Unit) . ((x impl r) res (y impl r)) impl r);
be408ef9713fbbbaf7bde82618f7d3f204fe806cTill Mossakowski ex (p : (? s)) : (? Unit) =
be408ef9713fbbbaf7bde82618f7d3f204fe806cTill Mossakowski all (\ r : (? Unit) . all (\ x : s . p (x) impl r) impl r);
be408ef9713fbbbaf7bde82618f7d3f204fe806cTill Mossakowski ff () : (? Unit) = all (\ r : (? Unit) . r ())
be408ef9713fbbbaf7bde82618f7d3f204fe806cTill Mossakowskiforall x : t; y : t
be408ef9713fbbbaf7bde82618f7d3f204fe806cTill Mossakowski (fun __=__[t] : forall a : Type . a * a ->? Unit)
be408ef9713fbbbaf7bde82618f7d3f204fe806cTill Mossakowski (var x : t, var y : t)
be408ef9713fbbbaf7bde82618f7d3f204fe806cTill Mossakowskitype Data1 ::= a |
e687bd70d6e6c98d82b239e01fef4a60de6739f4Till Mossakowskitype Data2 ::= Cons21 (Data1; Data2) |
be408ef9713fbbbaf7bde82618f7d3f204fe806cTill Mossakowski Cons22 (Data2; Data1) |
da955132262baab309a50fdffe228c9efe68251dCui Jiantype Data3 ::= Cons31 (sel1 :? Data1; sel2 :? Data2) |
e687bd70d6e6c98d82b239e01fef4a60de6739f4Till Mossakowski Cons32 (sel2 :? Data2; sel1 :? Data1)
e687bd70d6e6c98d82b239e01fef4a60de6739f4Till Mossakowskitype Data4 ::= Cons41 (sel1 :? Data1; sel2 :? Data2)? |
e687bd70d6e6c98d82b239e01fef4a60de6739f4Till Mossakowski Cons42 (sel2 :? Data2; sel1 :? Data1)?
7474388b4c2236f8ab2327289555000268c7901aTill Mossakowski. (fun true : Unit)
7474388b4c2236f8ab2327289555000268c7901aTill Mossakowski%% Classes ---------------------------------------------------------------
7474388b4c2236f8ab2327289555000268c7901aTill MossakowskiTYPE < {x . x < t}
8d6aa4bda97770cc79cf96de3c0f9dfa4d7d7aafChristian Maeder%% Type Constructors -----------------------------------------------------
e687bd70d6e6c98d82b239e01fef4a60de6739f4Till Mossakowski : Type < Data2
4918e2f622cfb96f9a57b7617cd18ca7e4f8b5d4Christian Maeder ::= a : Data1