TP-modelisation/TP2-3/enigme.mlw

30 lines
934 B
Plaintext
Raw Normal View History

2023-06-10 18:56:24 +00:00
theory Enigme
predicate a
predicate b
predicate c
predicate da = b /\ (not c)
predicate db = a -> c
predicate dc = (not c) /\ ( a \/ b )
goal Q1: not (da /\ db /\ dc)
(* on demande ensuite un contre exemple *)
goal Q2c: da /\ db -> dc (* vrai *)
goal Q2b: dc /\ da -> db (* faux *)
goal Q2a: db /\ dc -> da (* vrai *)
goal Q3a: (not a) /\ (not b) /\ (not c) -> da (* faux, a ment *)
goal Q3b: (not a) /\ (not b) /\ (not c) -> db (* b dit la vérité *)
goal Q3c: (not a) /\ (not b) /\ (not c) -> dc (* faux, c ment *)
goal Q4a: da /\ db /\ dc -> a (* faux, a innocent *)
goal Q4b: da /\ db /\ dc -> b (* b coupable *)
goal Q4c: da /\ db /\ dc -> c (* faux, c innocent *)
goal Q5: not ( (a -> (not da)) /\ (b -> (not db)) /\ (c -> (not dc)) )
(* on demande ensuite un contre exemple *)
end