summaryrefslogtreecommitdiff
path: root/gf-book/examples/chapter8/Logic.gf
diff options
context:
space:
mode:
authoraarne <aarne@chalmers.se>2011-01-11 15:46:43 +0000
committeraarne <aarne@chalmers.se>2011-01-11 15:46:43 +0000
commite7439d65b0e153434d3acc07df6e2a0972ee79ca (patch)
tree36716eec18256eeb600b4a552d9cc80f8ad7f16f /gf-book/examples/chapter8/Logic.gf
parent276327f7f264e770478a6d8c6e683266505b0a55 (diff)
gf-book web page index and toc
Diffstat (limited to 'gf-book/examples/chapter8/Logic.gf')
-rw-r--r--gf-book/examples/chapter8/Logic.gf21
1 files changed, 21 insertions, 0 deletions
diff --git a/gf-book/examples/chapter8/Logic.gf b/gf-book/examples/chapter8/Logic.gf
new file mode 100644
index 000000000..f2b292428
--- /dev/null
+++ b/gf-book/examples/chapter8/Logic.gf
@@ -0,0 +1,21 @@
+abstract Logic = {
+flags startcat = Stm ;
+cat
+ Stm ; -- top-level statement
+ Prop ; -- proposition
+ Atom ; -- atomic formula
+ Ind ; -- individual term
+ Dom ; -- domain expression
+ Var ; -- variable
+ [Prop] {2} ; -- list of propositions, 2 or more
+ [Var] {1} ; -- list of variables, 1 or more
+fun
+ SProp : Prop -> Stm ;
+ And, Or : [Prop] -> Prop ;
+ If : Prop -> Prop -> Prop ;
+ Not : Prop -> Prop ;
+ PAtom : Atom -> Prop ;
+ All, Exist : [Var] -> Dom -> Prop -> Prop ;
+ IVar : Var -> Ind ;
+ VString : String -> Var ;
+}