diff options
| author | Thomas Bauereiss | 2018-05-11 15:25:27 +0100 |
|---|---|---|
| committer | Thomas Bauereiss | 2018-05-11 16:11:51 +0100 |
| commit | 3b2185dabdd5003c7553a7c86eab201cdebd5630 (patch) | |
| tree | bda80e8df99789ac8594f92c571476d5a1b6db8e /snapshots/isabelle/lib/lem/Lem_bool.thy | |
| parent | 2a6e5eca7b28c5069e402a34ec36b7a6e18b274e (diff) | |
Add snapshot of generated Isabelle theories
Currently contains Lem and Sail libraries, and RISC-V and CHERI-MIPS specs.
Diffstat (limited to 'snapshots/isabelle/lib/lem/Lem_bool.thy')
| -rw-r--r-- | snapshots/isabelle/lib/lem/Lem_bool.thy | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/snapshots/isabelle/lib/lem/Lem_bool.thy b/snapshots/isabelle/lib/lem/Lem_bool.thy new file mode 100644 index 00000000..75142160 --- /dev/null +++ b/snapshots/isabelle/lib/lem/Lem_bool.thy @@ -0,0 +1,75 @@ +chapter \<open>Generated by Lem from bool.lem.\<close> + +theory "Lem_bool" + +imports + Main + +begin + + + +(* The type bool is hard-coded, so are true and false *) + +(* ----------------------- *) +(* not *) +(* ----------------------- *) + +(*val not : bool -> bool*) +(*let not b= match b with + | true -> false + | false -> true +end*) + +(* ----------------------- *) +(* and *) +(* ----------------------- *) + +(*val && [and] : bool -> bool -> bool*) +(*let && b1 b2= match (b1, b2) with + | (true, true) -> true + | _ -> false +end*) + + +(* ----------------------- *) +(* or *) +(* ----------------------- *) + +(*val || [or] : bool -> bool -> bool*) +(*let || b1 b2= match (b1, b2) with + | (false, false) -> false + | _ -> true +end*) + + +(* ----------------------- *) +(* implication *) +(* ----------------------- *) + +(*val --> [imp] : bool -> bool -> bool*) +(*let --> b1 b2= match (b1, b2) with + | (true, false) -> false + | _ -> true +end*) + + +(* ----------------------- *) +(* equivalence *) +(* ----------------------- *) + +(*val <-> [equiv] : bool -> bool -> bool*) +(*let <-> b1 b2= match (b1, b2) with + | (true, true) -> true + | (false, false) -> true + | _ -> false +end*) + + +(* ----------------------- *) +(* xor *) +(* ----------------------- *) + +(*val xor : bool -> bool -> bool*) + +end |
