diff options
author | Camil Staps | 2016-02-02 19:24:50 +0100 |
---|---|---|
committer | Camil Staps | 2016-02-02 19:24:50 +0100 |
commit | a7d7542dc646a5fd124ef71e71ce260889f1701b (patch) | |
tree | 04ed89503bbb3cc9933273a1326a53ca724c3492 /1415/files/practicum/PropositieLogica3.dcl | |
parent | week6 camil: working positioning of lines by putting empties at left and righ... (diff) |
Diffstat (limited to '1415/files/practicum/PropositieLogica3.dcl')
-rw-r--r-- | 1415/files/practicum/PropositieLogica3.dcl | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/1415/files/practicum/PropositieLogica3.dcl b/1415/files/practicum/PropositieLogica3.dcl new file mode 100644 index 0000000..af03b10 --- /dev/null +++ b/1415/files/practicum/PropositieLogica3.dcl @@ -0,0 +1,34 @@ +definition module PropositieLogica3
+
+import StdBool2, StdClass
+
+// Definitie PropL moet gekopieerd worden uit PropositieLogica3.icl
+:: PropL d = Con d // constante d (2-waardig of 3-waardig)
+ | Var Ident // variabele met gegeven naam
+ | Niet (PropL d) // ontkenning van een term
+ | En (PropL d) (PropL d) // logische conjunctie
+ | Of (PropL d) (PropL d) // logische disjunctie
+:: Ident :== Int // variabelen hebben een index i (> 0)
+:: Valuatie d // valuatie van variabelen naar booleans
+
+:: Bool3 = Waar | Onwaar | Onbekend
+
+class domein d :: [d]
+class true d :: d
+
+instance domein Bool
+instance domein Bool3
+instance true Bool
+instance true Bool3
+instance == Bool3
+instance ~~ Bool3
+instance ||| Bool3
+instance &&& Bool3
+instance toString Bool3
+instance toString (PropL d) | toString d
+
+
+vars :: (PropL d) -> [Ident]
+vals :: [Ident] -> [Valuatie d] | domein d
+eval :: (Valuatie d) (PropL d) -> d | ~~, |||, &&& d
+truths :: (PropL d) -> [Valuatie d] | ~~, |||, &&&, ==, domein, true d
|