Charlie is red. Charlie is rough. Charlie is round. Fiona is furry. Fiona is nice. Fiona is red. Fiona is young. Harry is cold. Harry is not furry. Harry is not red. All young, round people are furry. If Fiona is young then Fiona is furry. If someone is furry and not cold then they are not nice. If someone is rough then they are not nice. Nice people are round. All red people are young. All nice, furry people are young. Round people are young.
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is not furry.
("Harry" "is" "furry" "-")
Harry is not red.
("Harry" "is" "red" "-")
All young, round people are furry.
((("someone" "is" "young" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "furry" "+"))
If Fiona is young then Fiona is furry.
((("Fiona" "is" "young" "+")) -> ("Fiona" "is" "furry" "+"))
If someone is furry and not cold then they are not nice.
((("someone" "is" "furry" "+") ("someone" "is" "cold" "~")) -> ("someone" "is" "nice" "-"))
If someone is rough then they are not nice.
((("someone" "is" "rough" "+")) -> ("someone" "is" "nice" "-"))
Nice people are round.
((("someone" "is" "nice" "+")) -> ("someone" "is" "round" "+"))
All red people are young.
((("someone" "is" "red" "+")) -> ("someone" "is" "young" "+"))
All nice, furry people are young.
((("someone" "is" "nice" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "young" "+"))
Round people are young.
((("someone" "is" "round" "+")) -> ("someone" "is" "young" "+"))
Charlie is red.
True
1
proof
[(triple1)]
("Charlie" "is" "red" "+")
triple1
Charlie is not rough.
False
1
inv-proof
[(triple2)]
("Charlie" "is" "rough" "-")
triple2
Charlie is not nice.
True
2
proof
[(((triple2) -> rule4))]
("Charlie" "is" "nice" "-")
((triple2) -> (rule4 % int1))
Charlie is not nice.
("Charlie" "is" "nice" "-")
int1
Charlie is not young.
False
2
inv-proof
[(((triple1) -> rule6) OR ((triple3) -> rule8))]
("Charlie" "is" "young" "-")
((triple1) -> (rule6 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
((triple3) -> (rule8 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is furry.
True
4
proof
[(((((triple1) -> rule6) triple3) -> rule1) OR ((((triple3) -> rule8) triple3) -> rule1))]
("Charlie" "is" "furry" "+")
((((triple1) -> (rule6 % int2)) triple3) -> (rule1 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
((((triple3) -> (rule8 % int2)) triple3) -> (rule1 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is not furry.
False
4
inv-proof
[(((((triple1) -> rule6) triple3) -> rule1) OR ((((triple3) -> rule8) triple3) -> rule1))]
("Charlie" "is" "furry" "-")
((((triple1) -> (rule6 % int2)) triple3) -> (rule1 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
((((triple3) -> (rule8 % int2)) triple3) -> (rule1 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Harry is not round.
Unknown
inv-rconc
[@1: Harry is round.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Harry" "is" "round" "-")
Harry is young.
Unknown
rconc
[@2: Harry is young.[CWA. Example of deepest failure = (rule8 <- rule5 <- FAIL)]]
("Harry" "is" "young" "+")
Fiona is not cold.
Unknown
inv-random
[@0: Fiona is cold.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "cold" "-")
Harry is rough.
Unknown
random
[@0: Harry is rough.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "rough" "+")
Charlie is not cold.
Unknown
inv-random
[@0: Charlie is cold.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "cold" "-")
Harry is nice.
Unknown
random
[@0: Harry is nice.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "nice" "+")
@0: Charlie is red.[(triple1)] Charlie is rough.[(triple2)] Charlie is round.[(triple3)] Fiona is furry.[(triple4 OR ((triple7) -> rule2) OR ((((triple6) -> rule6)) -> rule2) OR ((triple7 ((triple5) -> rule5)) -> rule1) OR ((((triple6) -> rule6) ((triple5) -> rule5)) -> rule1) OR ((((((triple5) -> rule5)) -> rule8)) -> rule2) OR ((((((triple5) -> rule5)) -> rule8) ((triple5) -> rule5)) -> rule1))] Fiona is nice.[(triple5)] Fiona is red.[(triple6)] Fiona is young.[(triple7 OR ((triple6) -> rule6) OR ((triple5 triple4) -> rule7) OR ((((triple5) -> rule5)) -> rule8))] Harry is cold.[(triple8)] Harry is not furry.[(triple9)] Harry is not red.[(triple10)] @1: Charlie is not nice.[(((triple2) -> rule4))] Charlie is young.[(((triple1) -> rule6) OR ((triple3) -> rule8))] Fiona is round.[(((triple5) -> rule5))] @2: Charlie is furry.[(((((triple1) -> rule6) triple3) -> rule1) OR ((((triple3) -> rule8) triple3) -> rule1))]
Charlie is red.
("Charlie" "is" "red" "+")
triple1
Charlie is rough.
("Charlie" "is" "rough" "+")
triple2
Charlie is round.
("Charlie" "is" "round" "+")
triple3
Fiona is furry.
("Fiona" "is" "furry" "+")
triple4
((triple7) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((((triple6) -> (rule6 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
((triple7 ((triple5) -> (rule5 % int2))) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
((((triple6) -> (rule6 % int3)) ((triple5) -> (rule5 % int2))) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
((((((triple5) -> (rule5 % int3))) -> (rule8 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3
((((((triple5) -> (rule5 % int3))) -> (rule8 % int2)) ((triple5) -> (rule5 % int3))) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
triple5
Fiona is red.
("Fiona" "is" "red" "+")
triple6
Fiona is young.
("Fiona" "is" "young" "+")
triple7
((triple6) -> (rule6 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
((triple5 triple4) -> (rule7 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
((((triple5) -> (rule5 % int2))) -> (rule8 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
triple8
Harry is not furry.
("Harry" "is" "furry" "-")
triple9
Harry is not red.
("Harry" "is" "red" "-")
triple10
Charlie is not nice.
("Charlie" "is" "nice" "-")
((triple2) -> (rule4 % int1))
Charlie is not nice.
("Charlie" "is" "nice" "-")
int1
Charlie is young.
("Charlie" "is" "young" "+")
((triple1) -> (rule6 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
((triple3) -> (rule8 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
((triple5) -> (rule5 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
((((triple1) -> (rule6 % int2)) triple3) -> (rule1 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
((((triple3) -> (rule8 % int2)) triple3) -> (rule1 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2