Anne is blue. Anne is cold. Anne is furry. Anne is kind. Anne is quiet. Anne is young. Charlie is cold. Charlie is kind. Charlie is quiet. Charlie is smart. Fiona is cold. Fiona is furry. Fiona is kind. Fiona is quiet. Fiona is young. If someone is smart and blue then they are kind. If Anne is smart then Anne is blue. Kind people are smart. Cold people are blue. All blue, furry people are quiet. Smart, quiet people are furry. All young, smart people are cold. All quiet people are blue.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is cold.
("Anne" "is" "cold" "+")
Anne is furry.
("Anne" "is" "furry" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Anne is quiet.
("Anne" "is" "quiet" "+")
Anne is young.
("Anne" "is" "young" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is young.
("Fiona" "is" "young" "+")
If someone is smart and blue then they are kind.
((("someone" "is" "smart" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "kind" "+"))
If Anne is smart then Anne is blue.
((("Anne" "is" "smart" "+")) -> ("Anne" "is" "blue" "+"))
Kind people are smart.
((("someone" "is" "kind" "+")) -> ("someone" "is" "smart" "+"))
Cold people are blue.
((("someone" "is" "cold" "+")) -> ("someone" "is" "blue" "+"))
All blue, furry people are quiet.
((("someone" "is" "blue" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "quiet" "+"))
Smart, quiet people are furry.
((("someone" "is" "smart" "+") ("someone" "is" "quiet" "+")) -> ("someone" "is" "furry" "+"))
All young, smart people are cold.
((("someone" "is" "young" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "cold" "+"))
All quiet people are blue.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "blue" "+"))
Anne is cold.
True
1
proof
[(triple2 OR ((triple6 ((triple4) -> rule3)) -> rule7))]
("Anne" "is" "cold" "+")
triple2
((triple6 ((triple4) -> (rule3 % int2))) -> (rule7 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Fiona is not kind.
False
1
inv-proof
[(triple13)]
("Fiona" "is" "kind" "-")
triple13
Fiona is smart.
True
2
proof
[(((triple13) -> rule3))]
("Fiona" "is" "smart" "+")
((triple13) -> (rule3 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Anne is not smart.
False
2
inv-proof
[(((triple4) -> rule3))]
("Anne" "is" "smart" "-")
((triple4) -> (rule3 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
@0: Anne is blue.[(triple1 OR ((triple2) -> rule4) OR ((triple5) -> rule8) OR ((((triple4) -> rule3)) -> rule2) OR ((((triple6 ((triple4) -> rule3)) -> rule7)) -> rule4))] Anne is cold.[(triple2 OR ((triple6 ((triple4) -> rule3)) -> rule7))] Anne is furry.[(triple3 OR ((((triple4) -> rule3) triple5) -> rule6))] Anne is kind.[(triple4)] Anne is quiet.[(triple5 OR ((triple1 triple3) -> rule5) OR ((((triple2) -> rule4) triple3) -> rule5) OR ((((((triple4) -> rule3)) -> rule2) triple3) -> rule5) OR ((((((triple6 ((triple4) -> rule3)) -> rule7)) -> rule4) triple3) -> rule5))] Anne is young.[(triple6)] Charlie is cold.[(triple7)] Charlie is kind.[(triple8 OR ((triple10 ((triple7) -> rule4)) -> rule1) OR ((triple10 ((triple9) -> rule8)) -> rule1))] Charlie is quiet.[(triple9)] Charlie is smart.[(triple10 OR ((triple8) -> rule3))] Fiona is cold.[(triple11 OR ((triple15 ((triple13) -> rule3)) -> rule7))] Fiona is furry.[(triple12 OR ((((triple13) -> rule3) triple14) -> rule6))] Fiona is kind.[(triple13)] Fiona is quiet.[(triple14 OR ((((triple11) -> rule4) triple12) -> rule5) OR ((((((triple15 ((triple13) -> rule3)) -> rule7)) -> rule4) triple12) -> rule5))] Fiona is young.[(triple15)] @1: Anne is smart.[(((triple4) -> rule3))] Charlie is blue.[(((triple7) -> rule4) OR ((triple9) -> rule8))] Charlie is furry.[(((triple10 triple9) -> rule6) OR ((((triple8) -> rule3) triple9) -> rule6))] Fiona is blue.[(((triple11) -> rule4) OR ((triple14) -> rule8) OR ((((triple15 ((triple13) -> rule3)) -> rule7)) -> rule4))] Fiona is smart.[(((triple13) -> rule3))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
((triple2) -> (rule4 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
((triple5) -> (rule8 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
((((triple4) -> (rule3 % int2))) -> (rule2 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
((((triple6 ((triple4) -> (rule3 % int3))) -> (rule7 % int2))) -> (rule4 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is smart.
("Anne" "is" "smart" "+")
int3
Anne is cold.
("Anne" "is" "cold" "+")
triple2
((triple6 ((triple4) -> (rule3 % int2))) -> (rule7 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
triple3
((((triple4) -> (rule3 % int2)) triple5) -> (rule6 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is kind.
("Anne" "is" "kind" "+")
triple4
Anne is quiet.
("Anne" "is" "quiet" "+")
triple5
((triple1 triple3) -> (rule5 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
((((triple2) -> (rule4 % int2)) triple3) -> (rule5 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
((((((triple4) -> (rule3 % int3))) -> (rule2 % int2)) triple3) -> (rule5 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is smart.
("Anne" "is" "smart" "+")
int3
((((((triple6 ((triple4) -> (rule3 % int4))) -> (rule7 % int3))) -> (rule4 % int2)) triple3) -> (rule5 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
int3
Anne is smart.
("Anne" "is" "smart" "+")
int4
Anne is young.
("Anne" "is" "young" "+")
triple6
Charlie is cold.
("Charlie" "is" "cold" "+")
triple7
Charlie is kind.
("Charlie" "is" "kind" "+")
triple8
((triple10 ((triple7) -> (rule4 % int2))) -> (rule1 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
((triple10 ((triple9) -> (rule8 % int2))) -> (rule1 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple9
Charlie is smart.
("Charlie" "is" "smart" "+")
triple10
((triple8) -> (rule3 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
triple11
((triple15 ((triple13) -> (rule3 % int2))) -> (rule7 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
triple12
((((triple13) -> (rule3 % int2)) triple14) -> (rule6 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
triple13
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple14
((((triple11) -> (rule4 % int2)) triple12) -> (rule5 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
((((((triple15 ((triple13) -> (rule3 % int4))) -> (rule7 % int3))) -> (rule4 % int2)) triple12) -> (rule5 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
int4
Fiona is young.
("Fiona" "is" "young" "+")
triple15
Anne is smart.
("Anne" "is" "smart" "+")
((triple4) -> (rule3 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
((triple7) -> (rule4 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
((triple9) -> (rule8 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
((triple10 triple9) -> (rule6 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((((triple8) -> (rule3 % int2)) triple9) -> (rule6 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
((triple11) -> (rule4 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((triple14) -> (rule8 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((((triple15 ((triple13) -> (rule3 % int3))) -> (rule7 % int2))) -> (rule4 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
((triple13) -> (rule3 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1