Dave is round. Fiona is nice. All round people are nice. All round, green people are nice. Blue people are round. All blue people are green. If Fiona is not round then Fiona is nice. If someone is blue and not round then they are cold. If someone is nice then they are smart. If someone is nice and not blue then they are not smart.
Dave is round.
("Dave" "is" "round" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
All round people are nice.
((("someone" "is" "round" "+")) -> ("someone" "is" "nice" "+"))
All round, green people are nice.
((("someone" "is" "round" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "nice" "+"))
Blue people are round.
((("someone" "is" "blue" "+")) -> ("someone" "is" "round" "+"))
All blue people are green.
((("someone" "is" "blue" "+")) -> ("someone" "is" "green" "+"))
If Fiona is not round then Fiona is nice.
((("Fiona" "is" "round" "~")) -> ("Fiona" "is" "nice" "+"))
If someone is blue and not round then they are cold.
((("someone" "is" "blue" "+") ("someone" "is" "round" "~")) -> ("someone" "is" "cold" "+"))
If someone is nice then they are smart.
((("someone" "is" "nice" "+")) -> ("someone" "is" "smart" "+"))
If someone is nice and not blue then they are not smart.
((("someone" "is" "nice" "+") ("someone" "is" "blue" "~")) -> ("someone" "is" "smart" "-"))
Fiona is nice.
True
1
proof
[(triple2)]
("Fiona" "is" "nice" "+")
triple2
Fiona is not nice.
False
1
inv-proof
[(triple2)]
("Fiona" "is" "nice" "-")
triple2
Dave is nice.
True
2
proof
[(((triple1) -> rule1))]
("Dave" "is" "nice" "+")
((triple1) -> (rule1 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is not nice.
False
2
inv-proof
[(((triple1) -> rule1))]
("Dave" "is" "nice" "-")
((triple1) -> (rule1 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is smart.
True
3
proof
[(((((triple1) -> rule1)) -> rule7))]
("Dave" "is" "smart" "+")
((((triple1) -> (rule1 % int2))) -> (rule7 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is not smart.
False
3
inv-proof
[(((((triple1) -> rule1)) -> rule7))]
("Dave" "is" "smart" "-")
((((triple1) -> (rule1 % int2))) -> (rule7 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is not green.
Unknown
inv-rconc
[@1: Dave is green.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Dave" "is" "green" "-")
Fiona is round.
Unknown
rconc
[@1: Fiona is round.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Fiona" "is" "round" "+")
Dave is not cold.
Unknown
inv-rconc
[@1: Dave is cold.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Dave" "is" "cold" "-")
Fiona is quiet.
Unknown
random
[@0: Fiona is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "quiet" "+")
Dave is not blue.
Unknown
inv-random
[@0: Dave is blue.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "blue" "-")
Fiona is blue.
Unknown
random
[@0: Fiona is blue.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "blue" "+")
@0: Dave is round.[(triple1)] Fiona is nice.[(triple2)] @1: Dave is nice.[(((triple1) -> rule1))] Fiona is smart.[(((triple2) -> rule7))] @2: Dave is smart.[(((((triple1) -> rule1)) -> rule7))]
Dave is round.
("Dave" "is" "round" "+")
triple1
Fiona is nice.
("Fiona" "is" "nice" "+")
triple2
Dave is nice.
("Dave" "is" "nice" "+")
((triple1) -> (rule1 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
((triple2) -> (rule7 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
((((triple1) -> (rule1 % int2))) -> (rule7 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2