From 379b6353396ca2401241d714733d570629835ffe Mon Sep 17 00:00:00 2001 From: Mart Lubbers Date: Fri, 6 Feb 2015 08:39:37 +0100 Subject: added practicum files, updated gitignore --- files/practicum/PropositieLogica3.dcl | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 files/practicum/PropositieLogica3.dcl (limited to 'files/practicum/PropositieLogica3.dcl') diff --git a/files/practicum/PropositieLogica3.dcl b/files/practicum/PropositieLogica3.dcl new file mode 100644 index 0000000..af03b10 --- /dev/null +++ b/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 -- cgit v1.2.3