Charlie is red. Erin is furry. Fiona is big. Harry is smart. Cold, furry people are red. If Erin is furry then Erin is young. All big, smart people are round. Big people are round. All furry people are young. All smart, cold people are furry. All cold, big people are young. Young people are smart.
Charlie is red.
("Charlie" "is" "red" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Harry is smart.
("Harry" "is" "smart" "+")
Cold, furry people are red.
((("someone" "is" "cold" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "red" "+"))
If Erin is furry then Erin is young.
((("Erin" "is" "furry" "+")) -> ("Erin" "is" "young" "+"))
All big, smart people are round.
((("someone" "is" "big" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "round" "+"))
Big people are round.
((("someone" "is" "big" "+")) -> ("someone" "is" "round" "+"))
All furry people are young.
((("someone" "is" "furry" "+")) -> ("someone" "is" "young" "+"))
All smart, cold people are furry.
((("someone" "is" "smart" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "furry" "+"))
All cold, big people are young.
((("someone" "is" "cold" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "young" "+"))
Young people are smart.
((("someone" "is" "young" "+")) -> ("someone" "is" "smart" "+"))
Harry is smart.
True
1
proof
[(triple4)]
("Harry" "is" "smart" "+")
triple4
Fiona is not big.
False
1
inv-proof
[(triple3)]
("Fiona" "is" "big" "-")
triple3
Erin is young.
True
2
proof
[(((triple2) -> rule2) OR ((triple2) -> rule5))]
("Erin" "is" "young" "+")
((triple2) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
((triple2) -> (rule5 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is not young.
False
2
inv-proof
[(((triple2) -> rule2) OR ((triple2) -> rule5))]
("Erin" "is" "young" "-")
((triple2) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
((triple2) -> (rule5 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Harry is not young.
Unknown
inv-rconc
[@2: Harry is young.[CWA. Example of deepest failure = (rule5 <- rule6 <- FAIL)]]
("Harry" "is" "young" "-")
Fiona is red.
Unknown
rconc
[@1: Fiona is red.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Fiona" "is" "red" "+")
Fiona is not cold.
Unknown
inv-random
[@0: Fiona is cold.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "cold" "-")
Erin is cold.
Unknown
random
[@0: Erin is cold.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "cold" "+")
@0: Charlie is red.[(triple1)] Erin is furry.[(triple2)] Fiona is big.[(triple3)] Harry is smart.[(triple4)] @1: Erin is young.[(((triple2) -> rule2) OR ((triple2) -> rule5))] Fiona is round.[(((triple3) -> rule4))] @2: Erin is smart.[(((((triple2) -> rule2)) -> rule8) OR ((((triple2) -> rule5)) -> rule8))]
Charlie is red.
("Charlie" "is" "red" "+")
triple1
Erin is furry.
("Erin" "is" "furry" "+")
triple2
Fiona is big.
("Fiona" "is" "big" "+")
triple3
Harry is smart.
("Harry" "is" "smart" "+")
triple4
Erin is young.
("Erin" "is" "young" "+")
((triple2) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
((triple2) -> (rule5 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
((triple3) -> (rule4 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
((((triple2) -> (rule2 % int2))) -> (rule8 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
((((triple2) -> (rule5 % int2))) -> (rule8 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2