Fiona is cold. Fiona is green. Fiona is smart. Gary is cold. Gary is green. Gary is nice. Gary is quiet. Gary is smart. Gary is white. Gary is young. If something is green then it is young. If something is young then it is quiet. If something is nice and white then it is quiet. If something is nice then it is cold. If Fiona is quiet and Fiona is green then Fiona is nice. All young, smart things are quiet.
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Gary is smart.
("Gary" "is" "smart" "+")
Gary is white.
("Gary" "is" "white" "+")
Gary is young.
("Gary" "is" "young" "+")
If something is green then it is young.
((("something" "is" "green" "+")) -> ("something" "is" "young" "+"))
If something is young then it is quiet.
((("something" "is" "young" "+")) -> ("something" "is" "quiet" "+"))
If something is nice and white then it is quiet.
((("something" "is" "nice" "+") ("something" "is" "white" "+")) -> ("something" "is" "quiet" "+"))
If something is nice then it is cold.
((("something" "is" "nice" "+")) -> ("something" "is" "cold" "+"))
If Fiona is quiet and Fiona is green then Fiona is nice.
((("Fiona" "is" "quiet" "+") ("Fiona" "is" "green" "+")) -> ("Fiona" "is" "nice" "+"))
All young, smart things are quiet.
((("something" "is" "young" "+") ("something" "is" "smart" "+")) -> ("something" "is" "quiet" "+"))
Fiona is smart.
True
1
proof
[(triple3)]
("Fiona" "is" "smart" "+")
triple3
Fiona is not green.
False
1
inv-proof
[(triple2)]
("Fiona" "is" "green" "-")
triple2
Fiona is young.
True
2
proof
[(((triple2) -> rule1))]
("Fiona" "is" "young" "+")
((triple2) -> (rule1 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is not young.
False
2
inv-proof
[(((triple2) -> rule1))]
("Fiona" "is" "young" "-")
((triple2) -> (rule1 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is quiet.
True
3
proof
[(((((triple2) -> rule1)) -> rule2) OR ((((triple2) -> rule1) triple3) -> rule6))]
("Fiona" "is" "quiet" "+")
((((triple2) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
((((triple2) -> (rule1 % int2)) triple3) -> (rule6 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is not quiet.
False
3
inv-proof
[(((((triple2) -> rule1)) -> rule2) OR ((((triple2) -> rule1) triple3) -> rule6))]
("Fiona" "is" "quiet" "-")
((((triple2) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
((((triple2) -> (rule1 % int2)) triple3) -> (rule6 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is nice.
True
5
proof
[(((((((triple2) -> rule1)) -> rule2) triple2) -> rule5) OR ((((((triple2) -> rule1) triple3) -> rule6) triple2) -> rule5))]
("Fiona" "is" "nice" "+")
((((((triple2) -> (rule1 % int3))) -> (rule2 % int2)) triple2) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
((((((triple2) -> (rule1 % int3)) triple3) -> (rule6 % int2)) triple2) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is not nice.
False
5
inv-proof
[(((((((triple2) -> rule1)) -> rule2) triple2) -> rule5) OR ((((((triple2) -> rule1) triple3) -> rule6) triple2) -> rule5))]
("Fiona" "is" "nice" "-")
((((((triple2) -> (rule1 % int3))) -> (rule2 % int2)) triple2) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
((((((triple2) -> (rule1 % int3)) triple3) -> (rule6 % int2)) triple2) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
@0: Fiona is cold.[(triple1 OR ((((((((triple2) -> rule1)) -> rule2) triple2) -> rule5)) -> rule4) OR ((((((((triple2) -> rule1) triple3) -> rule6) triple2) -> rule5)) -> rule4))] Fiona is green.[(triple2)] Fiona is smart.[(triple3)] Gary is cold.[(triple4 OR ((triple6) -> rule4))] Gary is green.[(triple5)] Gary is nice.[(triple6)] Gary is quiet.[(triple7 OR ((triple10) -> rule2) OR ((triple10 triple8) -> rule6) OR ((triple6 triple9) -> rule3) OR ((((triple5) -> rule1)) -> rule2) OR ((((triple5) -> rule1) triple8) -> rule6))] Gary is smart.[(triple8)] Gary is white.[(triple9)] Gary is young.[(triple10 OR ((triple5) -> rule1))] @1: Fiona is young.[(((triple2) -> rule1))] @2: Fiona is quiet.[(((((triple2) -> rule1)) -> rule2) OR ((((triple2) -> rule1) triple3) -> rule6))] @3: Fiona is nice.[(((((((triple2) -> rule1)) -> rule2) triple2) -> rule5) OR ((((((triple2) -> rule1) triple3) -> rule6) triple2) -> rule5))]
Fiona is cold.
("Fiona" "is" "cold" "+")
triple1
((((((((triple2) -> (rule1 % int4))) -> (rule2 % int3)) triple2) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
int4
((((((((triple2) -> (rule1 % int4)) triple3) -> (rule6 % int3)) triple2) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
int4
Fiona is green.
("Fiona" "is" "green" "+")
triple2
Fiona is smart.
("Fiona" "is" "smart" "+")
triple3
Gary is cold.
("Gary" "is" "cold" "+")
triple4
((triple6) -> (rule4 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
triple5
Gary is nice.
("Gary" "is" "nice" "+")
triple6
Gary is quiet.
("Gary" "is" "quiet" "+")
triple7
((triple10) -> (rule2 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
((triple10 triple8) -> (rule6 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
((triple6 triple9) -> (rule3 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
((((triple5) -> (rule1 % int2))) -> (rule2 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
((((triple5) -> (rule1 % int2)) triple8) -> (rule6 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
triple8
Gary is white.
("Gary" "is" "white" "+")
triple9
Gary is young.
("Gary" "is" "young" "+")
triple10
((triple5) -> (rule1 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
((triple2) -> (rule1 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
((((triple2) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
((((triple2) -> (rule1 % int2)) triple3) -> (rule6 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
((((((triple2) -> (rule1 % int3))) -> (rule2 % int2)) triple2) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
((((((triple2) -> (rule1 % int3)) triple3) -> (rule6 % int2)) triple2) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3