Fiona is blue. Fiona is cold. Fiona is furry. Fiona is not kind. Fiona is quiet. Fiona is round. Harry is not furry. Harry is nice. Harry is quiet. Harry is round. If Harry is nice and Harry is not kind then Harry is round. Furry, round things are not nice. If Fiona is not quiet then Fiona is round. Quiet things are cold. If something is furry and not round then it is cold. If something is cold then it is blue.
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is not kind.
("Fiona" "is" "kind" "-")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Harry is not furry.
("Harry" "is" "furry" "-")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
Harry is round.
("Harry" "is" "round" "+")
If Harry is nice and Harry is not kind then Harry is round.
((("Harry" "is" "nice" "+") ("Harry" "is" "kind" "~")) -> ("Harry" "is" "round" "+"))
Furry, round things are not nice.
((("something" "is" "furry" "+") ("something" "is" "round" "+")) -> ("something" "is" "nice" "-"))
If Fiona is not quiet then Fiona is round.
((("Fiona" "is" "quiet" "~")) -> ("Fiona" "is" "round" "+"))
Quiet things are cold.
((("something" "is" "quiet" "+")) -> ("something" "is" "cold" "+"))
If something is furry and not round then it is cold.
((("something" "is" "furry" "+") ("something" "is" "round" "~")) -> ("something" "is" "cold" "+"))
If something is cold then it is blue.
((("something" "is" "cold" "+")) -> ("something" "is" "blue" "+"))
Harry is quiet.
True
1
proof
[(triple9)]
("Harry" "is" "quiet" "+")
triple9
Fiona is not quiet.
False
1
inv-proof
[(triple5)]
("Fiona" "is" "quiet" "-")
triple5
Fiona is not nice.
True
3
proof
[(((triple3 triple6) -> rule2))]
("Fiona" "is" "nice" "-")
((triple3 triple6) -> (rule2 % int1))
Fiona is not nice.
("Fiona" "is" "nice" "-")
int1
Harry is not cold.
False
2
inv-proof
[(((triple9) -> rule4))]
("Harry" "is" "cold" "-")
((triple9) -> (rule4 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
@0: Fiona is blue.[(triple1 OR ((triple2) -> rule6) OR ((((triple5) -> rule4)) -> rule6))] Fiona is cold.[(triple2 OR ((triple5) -> rule4))] Fiona is furry.[(triple3)] Fiona is not kind.[(triple4)] Fiona is quiet.[(triple5)] Fiona is round.[(triple6)] Harry is nice.[(triple8)] Harry is not furry.[(triple7)] Harry is quiet.[(triple9)] Harry is round.[(triple10)] @1: Fiona is not nice.[(((triple3 triple6) -> rule2))] Harry is cold.[(((triple9) -> rule4))] @2: Harry is blue.[(((((triple9) -> rule4)) -> rule6))]
Fiona is blue.
("Fiona" "is" "blue" "+")
triple1
((triple2) -> (rule6 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((((triple5) -> (rule4 % int2))) -> (rule6 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
triple2
((triple5) -> (rule4 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
triple3
Fiona is not kind.
("Fiona" "is" "kind" "-")
triple4
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple5
Fiona is round.
("Fiona" "is" "round" "+")
triple6
Harry is nice.
("Harry" "is" "nice" "+")
triple8
Harry is not furry.
("Harry" "is" "furry" "-")
triple7
Harry is quiet.
("Harry" "is" "quiet" "+")
triple9
Harry is round.
("Harry" "is" "round" "+")
triple10
Fiona is not nice.
("Fiona" "is" "nice" "-")
((triple3 triple6) -> (rule2 % int1))
Fiona is not nice.
("Fiona" "is" "nice" "-")
int1
Harry is cold.
("Harry" "is" "cold" "+")
((triple9) -> (rule4 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
((((triple9) -> (rule4 % int2))) -> (rule6 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2