diff options
| author | aarne <aarne@cs.chalmers.se> | 2008-06-25 16:54:35 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2008-06-25 16:54:35 +0000 |
| commit | e9e80fc389365e24d4300d7d5390c7d833a96c50 (patch) | |
| tree | f0b58473adaa670bd8fc52ada419d8cad470ee03 /old-examples/math | |
| parent | b96b36f43de3e2f8b58d5f539daa6f6d47f25870 (diff) | |
changed names of resource-1.3; added a note on homepage on release
Diffstat (limited to 'old-examples/math')
| -rw-r--r-- | old-examples/math/Math.gf | 41 | ||||
| -rw-r--r-- | old-examples/math/MathAgd.gf | 53 | ||||
| -rw-r--r-- | old-examples/math/MathEnz.gf | 44 | ||||
| -rw-r--r-- | old-examples/math/MathSwz.gf | 44 |
4 files changed, 182 insertions, 0 deletions
diff --git a/old-examples/math/Math.gf b/old-examples/math/Math.gf new file mode 100644 index 000000000..35cfcbfdc --- /dev/null +++ b/old-examples/math/Math.gf @@ -0,0 +1,41 @@ +abstract Math = { + +flags startcat = Section ; + +cat + Section ; Label ; Context ; Typ ; Obj ; Prop ; Proof ; Var ; + +fun + SDefObj : Label -> Context -> Obj -> Typ -> Obj -> Section ; + SDefProp : Label -> Context -> Prop -> Prop -> Section ; + SAxiom : Label -> Context -> Prop -> Section ; + STheorem : Label -> Context -> Prop -> Proof -> Section ; + + CEmpty : Context ; + CObj : Var -> Typ -> Context -> Context ; + CProp : Prop -> Context -> Context ; + + OVar : Var -> Obj ; + + LNone : Label ; + LString : String -> Label ; + VString : String -> Var ; + + V_x, V_y, V_z : Var ; --- for js + + PLink : Proof ; + +-- lexicon + + Set : Typ ; + Nat : Typ ; + Zero : Obj ; + Succ : Obj -> Obj ; + One : Obj ; + Two : Obj ; + Even : Obj -> Prop ; + Odd : Obj -> Prop ; + Prime : Obj -> Prop ; + Divisible : Obj -> Obj -> Prop ; + +} diff --git a/old-examples/math/MathAgd.gf b/old-examples/math/MathAgd.gf new file mode 100644 index 000000000..9b723c26e --- /dev/null +++ b/old-examples/math/MathAgd.gf @@ -0,0 +1,53 @@ +--# -path=.:prelude + +concrete MathAgd of Mathw = open Prelude in { + +flags lexer = codelit ; unlexer = codelit ; + +-- lincat Section ; Context ; Typ ; + lincat Obj, Prop = {s,name : Str} ; +-- Proof ; Var ; + +lin + SDefObj cont obj typ df = + ss (obj.name ++ "::" ++ cont.s ++ typ.s ++ + "=" ++ df.s ++ ";") ; + SDefProp cont prop df = + ss (prop.name ++ "::" ++ cont.s ++ "Prop" ++ + "=" ++ df.s ++ ";") ; + SAxiom cont prop = + ss ("ax" ++ "::" ++ cont.s ++ prop.s ++ ";") ; + STheorem cont prop proof = + ss ("thm" ++ "::" ++ cont.s ++ prop.s ++ + "=" ++ proof.s ++ ";") ; + + CEmpty = ss [] ; + CObj vr typ co = ss ("(" ++ vr.s ++ "::" ++ typ.s ++ ")" ++ co.s) ; + CProp prop co = ss ("(" ++ "_" ++ "::" ++ prop.s ++ ")" ++ co.s) ; + + OVar v = obj v.s [] ; + + V_x = ss "x" ; + V_y = ss "y" ; + V_z = ss "z" ; + +oper + obj : Str -> Str -> {s,name : Str} = \f,xs -> { + s = f ++ xs ; + name = f + } ; + +-- lexicon +lin + Set = ss "set" ; + Nat = ss ["Nat"] ; + Zero = obj "Zero" [] ; + Succ x = obj "Succ" x.s ; + One = obj "one" [] ; + Two = obj "two" [] ; + Even x = obj "Even" x.s ; + Odd x = obj "Odd" x.s ; + Prime x = obj "Prime" x.s ; + Divisible x y = obj "Div" (x.s ++ y.s) ; + +} diff --git a/old-examples/math/MathEnz.gf b/old-examples/math/MathEnz.gf new file mode 100644 index 000000000..2e3525032 --- /dev/null +++ b/old-examples/math/MathEnz.gf @@ -0,0 +1,44 @@ +--# -path=.:prelude + +concrete MathEnz of Mathw = open Prelude in { + +flags lexer = textlit ; unlexer = textlit ; + +-- lincat Section ; Context ; Typ ; Obj ; Prop ; Proof ; Var ; + +lin + SDefObj cont obj typ df = + ss ("Definition" ++ "." ++ cont.s ++ + obj.s ++ "is" ++ "a" ++ typ.s ++ "," ++ "defined" ++ "as" ++ df.s ++ ".") ; + SDefProp cont prop df = + ss ("Definition" ++ "." ++ cont.s ++ "we" ++ "say" ++ + "that" ++ prop.s ++ "if" ++ df.s ++ ".") ; + SAxiom cont prop = + ss ("Axiom" ++ "." ++ cont.s ++ prop.s ++ ".") ; + STheorem cont prop proof = + ss ("Theorem" ++ "." ++ cont.s ++ prop.s ++ "." ++ proof.s ++ ".") ; + + CEmpty = ss [] ; + CObj vr typ co = ss ("let" ++ vr.s ++ "be" ++ "a" ++ typ.s ++ "." ++ co.s) ; + CProp prop co = ss ("assume" ++ prop.s ++ "." ++ co.s) ; + + OVar v = v ; + + V_x = ss "x" ; + V_y = ss "y" ; + V_z = ss "z" ; + +-- lexicon + + Set = ss "set" ; + Nat = ss ["natural number"] ; + Zero = ss "zero" ; + Succ = prefixSS ["the successor of"] ; + One = ss "one" ; + Two = ss "two" ; + Even = postfixSS ["is even"] ; + Odd = postfixSS ["is odd"] ; + Prime = postfixSS ["is prime"] ; + Divisible = infixSS ["is divisible by"] ; + +} diff --git a/old-examples/math/MathSwz.gf b/old-examples/math/MathSwz.gf new file mode 100644 index 000000000..0d12a29e0 --- /dev/null +++ b/old-examples/math/MathSwz.gf @@ -0,0 +1,44 @@ +--# -path=.:prelude + +concrete MathSwz of Mathw = open Prelude in { + +flags lexer = textlit ; unlexer = textlit ; + +-- lincat Section ; Context ; Typ ; Obj ; Prop ; Proof ; Var ; + +lin + SDefObj cont obj typ df = + ss ("Definition" ++ "." ++ cont.s ++ + obj.s ++ "är" ++ "ett" ++ typ.s ++ "," ++ "definierat" ++ "som" ++ df.s ++ ".") ; + SDefProp cont prop df = + ss ("Definition" ++ "." ++ cont.s ++ "vi" ++ "säger" ++ + "att" ++ prop.s ++ "om" ++ df.s ++ ".") ; + SAxiom cont prop = + ss ("Axiom" ++ "." ++ cont.s ++ prop.s ++ ".") ; + STheorem cont prop proof = + ss ("Theorem" ++ "." ++ cont.s ++ prop.s ++ "." ++ proof.s ++ ".") ; + + CEmpty = ss [] ; + CObj vr typ co = ss ("låt" ++ vr.s ++ "vara" ++ "ett" ++ typ.s ++ "." ++ co.s) ; + CProp prop co = ss ("anta" ++ "att" ++ prop.s ++ "." ++ co.s) ; + + OVar v = v ; + + V_x = ss "x" ; + V_y = ss "y" ; + V_z = ss "z" ; + +-- lexicon + + Set = ss "mängd" ; + Nat = ss ["naturligt tal"] ; + Zero = ss "noll" ; + Succ = prefixSS ["efterföljaren till"] ; + One = ss "ett" ; + Two = ss "två" ; + Even = postfixSS ["är jämnt"] ; + Odd = postfixSS ["är udda"] ; + Prime = postfixSS ["är ett primtal"] ; + Divisible = infixSS ["är delbart med"] ; + +} |
