Fiona is kind. Fiona is nice. Fiona is rough. Harry is blue. Harry is kind. Harry is nice. Harry is quiet. Harry is rough. Harry is round. Harry is white. All blue things are quiet. If something is nice and white then it is blue. If something is rough and kind then it is white.
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is kind.
("Harry" "is" "kind" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Harry is round.
("Harry" "is" "round" "+")
Harry is white.
("Harry" "is" "white" "+")
All blue things are quiet.
((("something" "is" "blue" "+")) -> ("something" "is" "quiet" "+"))
If something is nice and white then it is blue.
((("something" "is" "nice" "+") ("something" "is" "white" "+")) -> ("something" "is" "blue" "+"))
If something is rough and kind then it is white.
((("something" "is" "rough" "+") ("something" "is" "kind" "+")) -> ("something" "is" "white" "+"))
Fiona is nice.
True
1
proof
[(triple2)]
("Fiona" "is" "nice" "+")
triple2
Harry is not nice.
False
1
inv-proof
[(triple6)]
("Harry" "is" "nice" "-")
triple6
Fiona is white.
True
3
proof
[(((triple3 triple1) -> rule3))]
("Fiona" "is" "white" "+")
((triple3 triple1) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is not white.
False
3
inv-proof
[(((triple3 triple1) -> rule3))]
("Fiona" "is" "white" "-")
((triple3 triple1) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is blue.
True
5
proof
[(((triple2 ((triple3 triple1) -> rule3)) -> rule2))]
("Fiona" "is" "blue" "+")
((triple2 ((triple3 triple1) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is not blue.
False
5
inv-proof
[(((triple2 ((triple3 triple1) -> rule3)) -> rule2))]
("Fiona" "is" "blue" "-")
((triple2 ((triple3 triple1) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is quiet.
True
6
proof
[(((((triple2 ((triple3 triple1) -> rule3)) -> rule2)) -> rule1))]
("Fiona" "is" "quiet" "+")
((((triple2 ((triple3 triple1) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is not quiet.
False
6
inv-proof
[(((((triple2 ((triple3 triple1) -> rule3)) -> rule2)) -> rule1))]
("Fiona" "is" "quiet" "-")
((((triple2 ((triple3 triple1) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
@0: Fiona is kind.[(triple1)] Fiona is nice.[(triple2)] Fiona is rough.[(triple3)] Harry is blue.[(triple4 OR ((triple6 triple10) -> rule2) OR ((triple6 ((triple8 triple5) -> rule3)) -> rule2))] Harry is kind.[(triple5)] Harry is nice.[(triple6)] Harry is quiet.[(triple7 OR ((triple4) -> rule1) OR ((((triple6 triple10) -> rule2)) -> rule1) OR ((((triple6 ((triple8 triple5) -> rule3)) -> rule2)) -> rule1))] Harry is rough.[(triple8)] Harry is round.[(triple9)] Harry is white.[(triple10 OR ((triple8 triple5) -> rule3))] @1: Fiona is white.[(((triple3 triple1) -> rule3))] @2: Fiona is blue.[(((triple2 ((triple3 triple1) -> rule3)) -> rule2))] @3: Fiona is quiet.[(((((triple2 ((triple3 triple1) -> rule3)) -> rule2)) -> rule1))]
Fiona is kind.
("Fiona" "is" "kind" "+")
triple1
Fiona is nice.
("Fiona" "is" "nice" "+")
triple2
Fiona is rough.
("Fiona" "is" "rough" "+")
triple3
Harry is blue.
("Harry" "is" "blue" "+")
triple4
((triple6 triple10) -> (rule2 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
((triple6 ((triple8 triple5) -> (rule3 % int2))) -> (rule2 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
triple5
Harry is nice.
("Harry" "is" "nice" "+")
triple6
Harry is quiet.
("Harry" "is" "quiet" "+")
triple7
((triple4) -> (rule1 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
((((triple6 triple10) -> (rule2 % int2))) -> (rule1 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
((((triple6 ((triple8 triple5) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
int3
Harry is rough.
("Harry" "is" "rough" "+")
triple8
Harry is round.
("Harry" "is" "round" "+")
triple9
Harry is white.
("Harry" "is" "white" "+")
triple10
((triple8 triple5) -> (rule3 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
((triple3 triple1) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
((triple2 ((triple3 triple1) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
((((triple2 ((triple3 triple1) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3