Erin is cold. Erin is furry. Erin is red. Erin is round. Erin is young. Fiona is cold. Fiona is furry. Fiona is red. Fiona is round. Fiona is smart. If someone is smart and cold then they are young. If someone is round and young then they are cold. All young, furry people are nice. Nice, smart people are cold. Cold, red people are round. All smart people are round.
Erin is cold.
("Erin" "is" "cold" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is round.
("Erin" "is" "round" "+")
Erin is young.
("Erin" "is" "young" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
If someone is smart and cold then they are young.
((("someone" "is" "smart" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "young" "+"))
If someone is round and young then they are cold.
((("someone" "is" "round" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "cold" "+"))
All young, furry people are nice.
((("someone" "is" "young" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "nice" "+"))
Nice, smart people are cold.
((("someone" "is" "nice" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "cold" "+"))
Cold, red people are round.
((("someone" "is" "cold" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "round" "+"))
All smart people are round.
((("someone" "is" "smart" "+")) -> ("someone" "is" "round" "+"))
Fiona is round.
True
1
proof
[(triple9 OR ((triple10) -> rule6) OR ((triple6 triple8) -> rule5))]
("Fiona" "is" "round" "+")
triple9
((triple10) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((triple6 triple8) -> (rule5 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Erin is not round.
False
1
inv-proof
[(triple4 OR ((triple1 triple3) -> rule5))]
("Erin" "is" "round" "-")
triple4
((triple1 triple3) -> (rule5 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is nice.
True
3
proof
[(((triple5 triple2) -> rule3))]
("Erin" "is" "nice" "+")
((triple5 triple2) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Fiona is not young.
False
3
inv-proof
[(((triple10 triple6) -> rule1))]
("Fiona" "is" "young" "-")
((triple10 triple6) -> (rule1 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is nice.
True
5
proof
[(((((triple10 triple6) -> rule1) triple7) -> rule3))]
("Fiona" "is" "nice" "+")
((((triple10 triple6) -> (rule1 % int2)) triple7) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is not nice.
False
5
inv-proof
[(((((triple10 triple6) -> rule1) triple7) -> rule3))]
("Fiona" "is" "nice" "-")
((((triple10 triple6) -> (rule1 % int2)) triple7) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
@0: Erin is cold.[(triple1 OR ((triple4 triple5) -> rule2))] Erin is furry.[(triple2)] Erin is red.[(triple3)] Erin is round.[(triple4 OR ((triple1 triple3) -> rule5))] Erin is young.[(triple5)] Fiona is cold.[(triple6)] Fiona is furry.[(triple7)] Fiona is red.[(triple8)] Fiona is round.[(triple9 OR ((triple10) -> rule6) OR ((triple6 triple8) -> rule5))] Fiona is smart.[(triple10)] @1: Erin is nice.[(((triple5 triple2) -> rule3))] Fiona is young.[(((triple10 triple6) -> rule1))] @2: Fiona is nice.[(((((triple10 triple6) -> rule1) triple7) -> rule3))]
Erin is cold.
("Erin" "is" "cold" "+")
triple1
((triple4 triple5) -> (rule2 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
triple2
Erin is red.
("Erin" "is" "red" "+")
triple3
Erin is round.
("Erin" "is" "round" "+")
triple4
((triple1 triple3) -> (rule5 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
triple5
Fiona is cold.
("Fiona" "is" "cold" "+")
triple6
Fiona is furry.
("Fiona" "is" "furry" "+")
triple7
Fiona is red.
("Fiona" "is" "red" "+")
triple8
Fiona is round.
("Fiona" "is" "round" "+")
triple9
((triple10) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((triple6 triple8) -> (rule5 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
triple10
Erin is nice.
("Erin" "is" "nice" "+")
((triple5 triple2) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
((triple10 triple6) -> (rule1 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
((((triple10 triple6) -> (rule1 % int2)) triple7) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2