Erin is blue. Erin is cold. Erin is nice. Erin is quiet. Erin is round. Erin is young. Fiona is blue. Fiona is cold. Fiona is kind. Fiona is quiet. Fiona is round. Fiona is young. Gary is cold. Gary is kind. Gary is round. Gary is young. If something is young then it is kind. Nice, quiet things are round. Round things are blue. Young, cold things are nice. Cold things are kind. If Fiona is round and Fiona is blue then Fiona is nice.
Erin is blue.
("Erin" "is" "blue" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is quiet.
("Erin" "is" "quiet" "+")
Erin is round.
("Erin" "is" "round" "+")
Erin is young.
("Erin" "is" "young" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is kind.
("Gary" "is" "kind" "+")
Gary is round.
("Gary" "is" "round" "+")
Gary is young.
("Gary" "is" "young" "+")
If something is young then it is kind.
((("something" "is" "young" "+")) -> ("something" "is" "kind" "+"))
Nice, quiet things are round.
((("something" "is" "nice" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "round" "+"))
Round things are blue.
((("something" "is" "round" "+")) -> ("something" "is" "blue" "+"))
Young, cold things are nice.
((("something" "is" "young" "+") ("something" "is" "cold" "+")) -> ("something" "is" "nice" "+"))
Cold things are kind.
((("something" "is" "cold" "+")) -> ("something" "is" "kind" "+"))
If Fiona is round and Fiona is blue then Fiona is nice.
((("Fiona" "is" "round" "+") ("Fiona" "is" "blue" "+")) -> ("Fiona" "is" "nice" "+"))
Gary is young.
True
1
proof
[(triple16)]
("Gary" "is" "young" "+")
triple16
Erin is not quiet.
False
1
inv-proof
[(triple4)]
("Erin" "is" "quiet" "-")
triple4
Gary is blue.
True
2
proof
[(((triple15) -> rule3))]
("Gary" "is" "blue" "+")
((triple15) -> (rule3 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Erin is not kind.
False
2
inv-proof
[(((triple2) -> rule5) OR ((triple6) -> rule1))]
("Erin" "is" "kind" "-")
((triple2) -> (rule5 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
((triple6) -> (rule1 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
@0: Erin is blue.[(triple1 OR ((triple5) -> rule3) OR ((((triple3 triple4) -> rule2)) -> rule3) OR ((((((triple6 triple2) -> rule4) triple4) -> rule2)) -> rule3))] Erin is cold.[(triple2)] Erin is nice.[(triple3 OR ((triple6 triple2) -> rule4))] Erin is quiet.[(triple4)] Erin is round.[(triple5 OR ((triple3 triple4) -> rule2) OR ((((triple6 triple2) -> rule4) triple4) -> rule2))] Erin is young.[(triple6)] Fiona is blue.[(triple7 OR ((triple11) -> rule3) OR ((((((triple12 triple8) -> rule4) triple10) -> rule2)) -> rule3))] Fiona is cold.[(triple8)] Fiona is kind.[(triple9 OR ((triple12) -> rule1) OR ((triple8) -> rule5))] Fiona is quiet.[(triple10)] Fiona is round.[(triple11 OR ((((triple12 triple8) -> rule4) triple10) -> rule2))] Fiona is young.[(triple12)] Gary is cold.[(triple13)] Gary is kind.[(triple14 OR ((triple13) -> rule5) OR ((triple16) -> rule1))] Gary is round.[(triple15)] Gary is young.[(triple16)] @1: Erin is kind.[(((triple2) -> rule5) OR ((triple6) -> rule1))] Fiona is nice.[(((triple11 triple7) -> rule6) OR ((triple12 triple8) -> rule4) OR ((triple11 ((triple11) -> rule3)) -> rule6))] Gary is blue.[(((triple15) -> rule3))] Gary is nice.[(((triple16 triple13) -> rule4))]
Erin is blue.
("Erin" "is" "blue" "+")
triple1
((triple5) -> (rule3 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
((((triple3 triple4) -> (rule2 % int2))) -> (rule3 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
((((((triple6 triple2) -> (rule4 % int3)) triple4) -> (rule2 % int2))) -> (rule3 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
triple2
Erin is nice.
("Erin" "is" "nice" "+")
triple3
((triple6 triple2) -> (rule4 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
triple4
Erin is round.
("Erin" "is" "round" "+")
triple5
((triple3 triple4) -> (rule2 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
((((triple6 triple2) -> (rule4 % int2)) triple4) -> (rule2 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
triple6
Fiona is blue.
("Fiona" "is" "blue" "+")
triple7
((triple11) -> (rule3 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((((((triple12 triple8) -> (rule4 % int3)) triple10) -> (rule2 % int2))) -> (rule3 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is cold.
("Fiona" "is" "cold" "+")
triple8
Fiona is kind.
("Fiona" "is" "kind" "+")
triple9
((triple12) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
((triple8) -> (rule5 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple10
Fiona is round.
("Fiona" "is" "round" "+")
triple11
((((triple12 triple8) -> (rule4 % int2)) triple10) -> (rule2 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
triple12
Gary is cold.
("Gary" "is" "cold" "+")
triple13
Gary is kind.
("Gary" "is" "kind" "+")
triple14
((triple13) -> (rule5 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
((triple16) -> (rule1 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
triple15
Gary is young.
("Gary" "is" "young" "+")
triple16
Erin is kind.
("Erin" "is" "kind" "+")
((triple2) -> (rule5 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
((triple6) -> (rule1 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
((triple11 triple7) -> (rule6 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((triple12 triple8) -> (rule4 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((triple11 ((triple11) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
((triple15) -> (rule3 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
((triple16 triple13) -> (rule4 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1