\\ negation(datatype ~ A; !; fail!; _____________________ (~ A);
_____________________ (~ A); )
\\ collect list of elements generated by F(datatype collect (F X); (collect F XS); _________________________ (collect F (X | XS));
_________________________ (collect _ ());)
\\ universal quantification(datatype forall (collect U XS); (~ P); _______________________ (forall-h XS U P);
\\ make sure U doesn't fail prematurely (U _); (~ (forall-h XS U P)); _____________________ (forall XS U P); )
\\ algebraic laws(datatype associative
let F (function Join) if (= (F A (F B C)) (F (F A B) C)) _____________________________________ (associative-h Join A B C);
(forall (A B C) Set (associative-h Join A B C)); _____________________________________________________ (associative Set Join); )
\\ an algebraic structure(datatype semigroup (associative Set Join); _____________________________________________ [semigroup Set Join] : (semigroup Set);)
(5+) (tc +)
--
You received this message because you are subscribed to the Google Groups "Shen" group.
To unsubscribe from this group and stop receiving emails from it, send an email to qilang+unsubscribe@googlegroups.com.
To post to this group, send email to qil...@googlegroups.com.
Visit this group at https://groups.google.com/group/qilang.
For more options, visit https://groups.google.com/d/optout.