Dave is furry. Dave is kind. Dave is nice. Dave is red. Dave is round. Dave is white. Dave is young. Fiona is furry. Fiona is kind. Fiona is young. Young, furry things are red. If Dave is nice and Dave is young then Dave is furry. If something is round and young then it is furry. Young, furry things are nice. All nice, round things are kind. If something is young and white then it is round. All furry, white things are red. Red things are furry.
Dave is furry.
("Dave" "is" "furry" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is round.
("Dave" "is" "round" "+")
Dave is white.
("Dave" "is" "white" "+")
Dave is young.
("Dave" "is" "young" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Young, furry things are red.
((("something" "is" "young" "+") ("something" "is" "furry" "+")) -> ("something" "is" "red" "+"))
If Dave is nice and Dave is young then Dave is furry.
((("Dave" "is" "nice" "+") ("Dave" "is" "young" "+")) -> ("Dave" "is" "furry" "+"))
If something is round and young then it is furry.
((("something" "is" "round" "+") ("something" "is" "young" "+")) -> ("something" "is" "furry" "+"))
Young, furry things are nice.
((("something" "is" "young" "+") ("something" "is" "furry" "+")) -> ("something" "is" "nice" "+"))
All nice, round things are kind.
((("something" "is" "nice" "+") ("something" "is" "round" "+")) -> ("something" "is" "kind" "+"))
If something is young and white then it is round.
((("something" "is" "young" "+") ("something" "is" "white" "+")) -> ("something" "is" "round" "+"))
All furry, white things are red.
((("something" "is" "furry" "+") ("something" "is" "white" "+")) -> ("something" "is" "red" "+"))
Red things are furry.
((("something" "is" "red" "+")) -> ("something" "is" "furry" "+"))
Fiona is furry.
True
1
proof
[(triple8)]
("Fiona" "is" "furry" "+")
triple8
Dave is not round.
False
1
inv-proof
[(triple5 OR ((triple7 triple6) -> rule6))]
("Dave" "is" "round" "-")
triple5
((triple7 triple6) -> (rule6 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Fiona is red.
True
3
proof
[(((triple10 triple8) -> rule1))]
("Fiona" "is" "red" "+")
((triple10 triple8) -> (rule1 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is not red.
False
3
inv-proof
[(((triple10 triple8) -> rule1))]
("Fiona" "is" "red" "-")
((triple10 triple8) -> (rule1 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is not round.
Unknown
inv-rconc
[@1: Fiona is round.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Fiona" "is" "round" "-")
Fiona is white.
Unknown
random
[@0: Fiona is white.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "white" "+")
@0: Dave is furry.[(triple1 OR ((triple4) -> rule8) OR ((triple3 triple7) -> rule2) OR ((triple5 triple7) -> rule3) OR ((((triple7 triple6) -> rule6) triple7) -> rule3))] Dave is kind.[(triple2 OR ((triple3 triple5) -> rule5) OR ((triple3 ((triple7 triple6) -> rule6)) -> rule5) OR ((((triple7 triple1) -> rule4) triple5) -> rule5) OR ((((triple7 triple1) -> rule4) ((triple7 triple6) -> rule6)) -> rule5) OR ((((triple7 ((triple4) -> rule8)) -> rule4) triple5) -> rule5) OR ((((triple7 ((triple5 triple7) -> rule3)) -> rule4) triple5) -> rule5) OR ((((triple7 ((triple4) -> rule8)) -> rule4) ((triple7 triple6) -> rule6)) -> rule5) OR ((((triple7 ((triple5 triple7) -> rule3)) -> rule4) ((triple7 triple6) -> rule6)) -> rule5) OR ((((triple7 ((((triple7 triple6) -> rule6) triple7) -> rule3)) -> rule4) triple5) -> rule5) OR ((((triple7 ((((triple7 triple6) -> rule6) triple7) -> rule3)) -> rule4) ((triple7 triple6) -> rule6)) -> rule5))] Dave is nice.[(triple3 OR ((triple7 triple1) -> rule4) OR ((triple7 ((triple4) -> rule8)) -> rule4) OR ((triple7 ((triple5 triple7) -> rule3)) -> rule4) OR ((triple7 ((((triple7 triple6) -> rule6) triple7) -> rule3)) -> rule4))] Dave is red.[(triple4 OR ((triple1 triple6) -> rule7) OR ((triple7 triple1) -> rule1) OR ((triple7 ((triple3 triple7) -> rule2)) -> rule1) OR ((triple7 ((triple5 triple7) -> rule3)) -> rule1) OR ((((triple3 triple7) -> rule2) triple6) -> rule7) OR ((((triple5 triple7) -> rule3) triple6) -> rule7) OR ((triple7 ((((triple7 triple6) -> rule6) triple7) -> rule3)) -> rule1) OR ((((((triple7 triple6) -> rule6) triple7) -> rule3) triple6) -> rule7))] Dave is round.[(triple5 OR ((triple7 triple6) -> rule6))] Dave is white.[(triple6)] Dave is young.[(triple7)] Fiona is furry.[(triple8)] Fiona is kind.[(triple9)] Fiona is young.[(triple10)] @1: Fiona is nice.[(((triple10 triple8) -> rule4))] Fiona is red.[(((triple10 triple8) -> rule1))]
Dave is furry.
("Dave" "is" "furry" "+")
triple1
((triple4) -> (rule8 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((triple3 triple7) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((triple5 triple7) -> (rule3 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((((triple7 triple6) -> (rule6 % int2)) triple7) -> (rule3 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
triple2
((triple3 triple5) -> (rule5 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
((triple3 ((triple7 triple6) -> (rule6 % int2))) -> (rule5 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
((((triple7 triple1) -> (rule4 % int2)) triple5) -> (rule5 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
((((triple7 triple1) -> (rule4 % int3)) ((triple7 triple6) -> (rule6 % int2))) -> (rule5 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
((((triple7 ((triple4) -> (rule8 % int3))) -> (rule4 % int2)) triple5) -> (rule5 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
((((triple7 ((triple5 triple7) -> (rule3 % int3))) -> (rule4 % int2)) triple5) -> (rule5 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
((((triple7 ((triple4) -> (rule8 % int4))) -> (rule4 % int3)) ((triple7 triple6) -> (rule6 % int2))) -> (rule5 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
Dave is furry.
("Dave" "is" "furry" "+")
int4
((((triple7 ((triple5 triple7) -> (rule3 % int4))) -> (rule4 % int3)) ((triple7 triple6) -> (rule6 % int2))) -> (rule5 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
Dave is furry.
("Dave" "is" "furry" "+")
int4
((((triple7 ((((triple7 triple6) -> (rule6 % int4)) triple7) -> (rule3 % int3))) -> (rule4 % int2)) triple5) -> (rule5 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Dave is round.
("Dave" "is" "round" "+")
int4
((((triple7 ((((triple7 triple6) -> (rule6 % int4)) triple7) -> (rule3 % int3))) -> (rule4 % int2)) ((triple7 triple6) -> (rule6 % int4))) -> (rule5 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Dave is round.
("Dave" "is" "round" "+")
int4
Dave is nice.
("Dave" "is" "nice" "+")
triple3
((triple7 triple1) -> (rule4 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
((triple7 ((triple4) -> (rule8 % int2))) -> (rule4 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
((triple7 ((triple5 triple7) -> (rule3 % int2))) -> (rule4 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
((triple7 ((((triple7 triple6) -> (rule6 % int3)) triple7) -> (rule3 % int2))) -> (rule4 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
Dave is red.
("Dave" "is" "red" "+")
triple4
((triple1 triple6) -> (rule7 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
((triple7 triple1) -> (rule1 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
((triple7 ((triple3 triple7) -> (rule2 % int2))) -> (rule1 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
((triple7 ((triple5 triple7) -> (rule3 % int2))) -> (rule1 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
((((triple3 triple7) -> (rule2 % int2)) triple6) -> (rule7 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
((((triple5 triple7) -> (rule3 % int2)) triple6) -> (rule7 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
((triple7 ((((triple7 triple6) -> (rule6 % int3)) triple7) -> (rule3 % int2))) -> (rule1 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
((((((triple7 triple6) -> (rule6 % int3)) triple7) -> (rule3 % int2)) triple6) -> (rule7 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
Dave is round.
("Dave" "is" "round" "+")
triple5
((triple7 triple6) -> (rule6 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
triple6
Dave is young.
("Dave" "is" "young" "+")
triple7
Fiona is furry.
("Fiona" "is" "furry" "+")
triple8
Fiona is kind.
("Fiona" "is" "kind" "+")
triple9
Fiona is young.
("Fiona" "is" "young" "+")
triple10
Fiona is nice.
("Fiona" "is" "nice" "+")
((triple10 triple8) -> (rule4 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
((triple10 triple8) -> (rule1 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1