Bob is nice. Fiona is big. Fiona is furry. Fiona is green. Fiona is nice. Fiona is red. Fiona is smart. Harry is nice. Harry is red. Harry is round. Furry, round people are nice. If Fiona is green and Fiona is nice then Fiona is furry. If Harry is red and Harry is round then Harry is big. If Fiona is furry then Fiona is nice. Nice people are red. Red people are smart. Green people are red. All green people are big.
Bob is nice.
("Bob" "is" "nice" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is red.
("Harry" "is" "red" "+")
Harry is round.
("Harry" "is" "round" "+")
Furry, round people are nice.
((("someone" "is" "furry" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "nice" "+"))
If Fiona is green and Fiona is nice then Fiona is furry.
((("Fiona" "is" "green" "+") ("Fiona" "is" "nice" "+")) -> ("Fiona" "is" "furry" "+"))
If Harry is red and Harry is round then Harry is big.
((("Harry" "is" "red" "+") ("Harry" "is" "round" "+")) -> ("Harry" "is" "big" "+"))
If Fiona is furry then Fiona is nice.
((("Fiona" "is" "furry" "+")) -> ("Fiona" "is" "nice" "+"))
Nice people are red.
((("someone" "is" "nice" "+")) -> ("someone" "is" "red" "+"))
Red people are smart.
((("someone" "is" "red" "+")) -> ("someone" "is" "smart" "+"))
Green people are red.
((("someone" "is" "green" "+")) -> ("someone" "is" "red" "+"))
All green people are big.
((("someone" "is" "green" "+")) -> ("someone" "is" "big" "+"))
Bob is nice.
True
1
proof
[(triple1)]
("Bob" "is" "nice" "+")
triple1
Fiona is not big.
False
1
inv-proof
[(triple2 OR ((triple4) -> rule8))]
("Fiona" "is" "big" "-")
triple2
((triple4) -> (rule8 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Bob is red.
True
2
proof
[(((triple1) -> rule5))]
("Bob" "is" "red" "+")
((triple1) -> (rule5 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Harry is not big.
False
3
inv-proof
[(((triple9 triple10) -> rule3) OR ((((triple8) -> rule5) triple10) -> rule3))]
("Harry" "is" "big" "-")
((triple9 triple10) -> (rule3 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
((((triple8) -> (rule5 % int2)) triple10) -> (rule3 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Bob is smart.
True
3
proof
[(((((triple1) -> rule5)) -> rule6))]
("Bob" "is" "smart" "+")
((((triple1) -> (rule5 % int2))) -> (rule6 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is not smart.
False
3
inv-proof
[(((((triple1) -> rule5)) -> rule6))]
("Bob" "is" "smart" "-")
((((triple1) -> (rule5 % int2))) -> (rule6 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is not big.
Unknown
inv-rconc
[@1: Bob is big.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("Bob" "is" "big" "-")
Bob is green.
Unknown
random
[@0: Bob is green.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "green" "+")
Harry is not furry.
Unknown
inv-random
[@0: Harry is furry.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "furry" "-")
Bob is round.
Unknown
random
[@0: Bob is round.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "round" "+")
Bob is not furry.
Unknown
inv-random
[@0: Bob is furry.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "furry" "-")
Fiona is round.
Unknown
random
[@0: Fiona is round.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "round" "+")
@0: Bob is nice.[(triple1)] Fiona is big.[(triple2 OR ((triple4) -> rule8))] Fiona is furry.[(triple3 OR ((triple4 triple5) -> rule2))] Fiona is green.[(triple4)] Fiona is nice.[(triple5 OR ((triple3) -> rule4))] Fiona is red.[(triple6 OR ((triple4) -> rule7) OR ((triple5) -> rule5) OR ((((triple3) -> rule4)) -> rule5))] Fiona is smart.[(triple7 OR ((triple6) -> rule6) OR ((((triple4) -> rule7)) -> rule6) OR ((((triple5) -> rule5)) -> rule6) OR ((((((triple3) -> rule4)) -> rule5)) -> rule6))] Harry is nice.[(triple8)] Harry is red.[(triple9 OR ((triple8) -> rule5))] Harry is round.[(triple10)] @1: Bob is red.[(((triple1) -> rule5))] Harry is big.[(((triple9 triple10) -> rule3) OR ((((triple8) -> rule5) triple10) -> rule3))] Harry is smart.[(((triple9) -> rule6) OR ((((triple8) -> rule5)) -> rule6))] @2: Bob is smart.[(((((triple1) -> rule5)) -> rule6))]
Bob is nice.
("Bob" "is" "nice" "+")
triple1
Fiona is big.
("Fiona" "is" "big" "+")
triple2
((triple4) -> (rule8 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
triple3
((triple4 triple5) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
triple4
Fiona is nice.
("Fiona" "is" "nice" "+")
triple5
((triple3) -> (rule4 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
triple6
((triple4) -> (rule7 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
((triple5) -> (rule5 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
((((triple3) -> (rule4 % int2))) -> (rule5 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
triple7
((triple6) -> (rule6 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
((((triple4) -> (rule7 % int2))) -> (rule6 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
((((triple5) -> (rule5 % int2))) -> (rule6 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
((((((triple3) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Harry is nice.
("Harry" "is" "nice" "+")
triple8
Harry is red.
("Harry" "is" "red" "+")
triple9
((triple8) -> (rule5 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
triple10
Bob is red.
("Bob" "is" "red" "+")
((triple1) -> (rule5 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
((triple9 triple10) -> (rule3 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
((((triple8) -> (rule5 % int2)) triple10) -> (rule3 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
((triple9) -> (rule6 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
((((triple8) -> (rule5 % int2))) -> (rule6 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
((((triple1) -> (rule5 % int2))) -> (rule6 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2