Fiona is cold. Fiona is nice. Fiona is quiet. Fiona is red. Fiona is rough. Fiona is round. Harry is cold. Harry is nice. Harry is not quiet. Harry is red. Harry is rough. Harry is round. Rough people are round. All cold, nice people are red. All cold, quiet people are not blue. If Harry is nice then Harry is blue. If Harry is blue then Harry is cold. If Harry is cold and Harry is blue then Harry is not quiet.
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is not quiet.
("Harry" "is" "quiet" "-")
Harry is red.
("Harry" "is" "red" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Harry is round.
("Harry" "is" "round" "+")
Rough people are round.
((("someone" "is" "rough" "+")) -> ("someone" "is" "round" "+"))
All cold, nice people are red.
((("someone" "is" "cold" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "red" "+"))
All cold, quiet people are not blue.
((("someone" "is" "cold" "+") ("someone" "is" "quiet" "+")) -> ("someone" "is" "blue" "-"))
If Harry is nice then Harry is blue.
((("Harry" "is" "nice" "+")) -> ("Harry" "is" "blue" "+"))
If Harry is blue then Harry is cold.
((("Harry" "is" "blue" "+")) -> ("Harry" "is" "cold" "+"))
If Harry is cold and Harry is blue then Harry is not quiet.
((("Harry" "is" "cold" "+") ("Harry" "is" "blue" "+")) -> ("Harry" "is" "quiet" "-"))
Harry is not quiet.
True
1
proof
[(triple9 OR ((triple7 ((triple8) -> rule4)) -> rule6) OR ((((((triple8) -> rule4)) -> rule5) ((triple8) -> rule4)) -> rule6))]
("Harry" "is" "quiet" "-")
triple9
((triple7 ((triple8) -> (rule4 % int2))) -> (rule6 % int1))
Harry is not quiet.
("Harry" "is" "quiet" "-")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
((((((triple8) -> (rule4 % int3))) -> (rule5 % int2)) ((triple8) -> (rule4 % int3))) -> (rule6 % int1))
Harry is not quiet.
("Harry" "is" "quiet" "-")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Fiona is not quiet.
False
1
inv-proof
[(triple3)]
("Fiona" "is" "quiet" "-")
triple3
@0: Fiona is cold.[(triple1)] Fiona is nice.[(triple2)] Fiona is quiet.[(triple3)] Fiona is red.[(triple4 OR ((triple1 triple2) -> rule2))] Fiona is rough.[(triple5)] Fiona is round.[(triple6 OR ((triple5) -> rule1))] Harry is cold.[(triple7 OR ((((triple8) -> rule4)) -> rule5))] Harry is nice.[(triple8)] Harry is not quiet.[(triple9 OR ((triple7 ((triple8) -> rule4)) -> rule6) OR ((((((triple8) -> rule4)) -> rule5) ((triple8) -> rule4)) -> rule6))] Harry is red.[(triple10 OR ((triple7 triple8) -> rule2) OR ((((((triple8) -> rule4)) -> rule5) triple8) -> rule2))] Harry is rough.[(triple11)] Harry is round.[(triple12 OR ((triple11) -> rule1))] @1: Fiona is not blue.[(((triple1 triple3) -> rule3))] Harry is blue.[(((triple8) -> rule4))]
Fiona is cold.
("Fiona" "is" "cold" "+")
triple1
Fiona is nice.
("Fiona" "is" "nice" "+")
triple2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple3
Fiona is red.
("Fiona" "is" "red" "+")
triple4
((triple1 triple2) -> (rule2 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
triple5
Fiona is round.
("Fiona" "is" "round" "+")
triple6
((triple5) -> (rule1 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
triple7
((((triple8) -> (rule4 % int2))) -> (rule5 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is nice.
("Harry" "is" "nice" "+")
triple8
Harry is not quiet.
("Harry" "is" "quiet" "-")
triple9
((triple7 ((triple8) -> (rule4 % int2))) -> (rule6 % int1))
Harry is not quiet.
("Harry" "is" "quiet" "-")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
((((((triple8) -> (rule4 % int3))) -> (rule5 % int2)) ((triple8) -> (rule4 % int3))) -> (rule6 % int1))
Harry is not quiet.
("Harry" "is" "quiet" "-")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Harry is red.
("Harry" "is" "red" "+")
triple10
((triple7 triple8) -> (rule2 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
((((((triple8) -> (rule4 % int3))) -> (rule5 % int2)) triple8) -> (rule2 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Harry is rough.
("Harry" "is" "rough" "+")
triple11
Harry is round.
("Harry" "is" "round" "+")
triple12
((triple11) -> (rule1 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Fiona is not blue.
("Fiona" "is" "blue" "-")
((triple1 triple3) -> (rule3 % int1))
Fiona is not blue.
("Fiona" "is" "blue" "-")
int1
Harry is blue.
("Harry" "is" "blue" "+")
((triple8) -> (rule4 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1