Fiona is big. Fiona is furry. Fiona is red. All furry, quiet people are kind. Kind, red people are rough. Big people are red. All furry, red people are quiet. All kind, quiet people are red. Kind, young people are red.
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is red.
("Fiona" "is" "red" "+")
All furry, quiet people are kind.
((("someone" "is" "furry" "+") ("someone" "is" "quiet" "+")) -> ("someone" "is" "kind" "+"))
Kind, red people are rough.
((("someone" "is" "kind" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "rough" "+"))
Big people are red.
((("someone" "is" "big" "+")) -> ("someone" "is" "red" "+"))
All furry, red people are quiet.
((("someone" "is" "furry" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "quiet" "+"))
All kind, quiet people are red.
((("someone" "is" "kind" "+") ("someone" "is" "quiet" "+")) -> ("someone" "is" "red" "+"))
Kind, young people are red.
((("someone" "is" "kind" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "red" "+"))
Fiona is big.
True
1
proof
[(triple1)]
("Fiona" "is" "big" "+")
triple1
Fiona is not furry.
False
1
inv-proof
[(triple2)]
("Fiona" "is" "furry" "-")
triple2
Fiona is quiet.
True
3
proof
[(((triple2 triple3) -> rule4) OR ((triple2 ((triple1) -> rule3)) -> rule4))]
("Fiona" "is" "quiet" "+")
((triple2 triple3) -> (rule4 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
((triple2 ((triple1) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is not quiet.
False
3
inv-proof
[(((triple2 triple3) -> rule4) OR ((triple2 ((triple1) -> rule3)) -> rule4))]
("Fiona" "is" "quiet" "-")
((triple2 triple3) -> (rule4 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
((triple2 ((triple1) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is kind.
True
5
proof
[(((triple2 ((triple2 triple3) -> rule4)) -> rule1) OR ((triple2 ((triple2 ((triple1) -> rule3)) -> rule4)) -> rule1))]
("Fiona" "is" "kind" "+")
((triple2 ((triple2 triple3) -> (rule4 % int2))) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
((triple2 ((triple2 ((triple1) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Fiona is not kind.
False
5
inv-proof
[(((triple2 ((triple2 triple3) -> rule4)) -> rule1) OR ((triple2 ((triple2 ((triple1) -> rule3)) -> rule4)) -> rule1))]
("Fiona" "is" "kind" "-")
((triple2 ((triple2 triple3) -> (rule4 % int2))) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
((triple2 ((triple2 ((triple1) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Fiona is rough.
True
7
proof
[(((((triple2 ((triple2 triple3) -> rule4)) -> rule1) triple3) -> rule2) OR ((((triple2 ((triple2 triple3) -> rule4)) -> rule1) ((triple1) -> rule3)) -> rule2) OR ((((triple2 ((triple2 ((triple1) -> rule3)) -> rule4)) -> rule1) triple3) -> rule2) OR ((((triple2 ((triple2 ((triple1) -> rule3)) -> rule4)) -> rule1) ((triple1) -> rule3)) -> rule2))]
("Fiona" "is" "rough" "+")
((((triple2 ((triple2 triple3) -> (rule4 % int3))) -> (rule1 % int2)) triple3) -> (rule2 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
((((triple2 ((triple2 triple3) -> (rule4 % int4))) -> (rule1 % int3)) ((triple1) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int4
((((triple2 ((triple2 ((triple1) -> (rule3 % int4))) -> (rule4 % int3))) -> (rule1 % int2)) triple3) -> (rule2 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
Fiona is red.
("Fiona" "is" "red" "+")
int4
((((triple2 ((triple2 ((triple1) -> (rule3 % int4))) -> (rule4 % int3))) -> (rule1 % int2)) ((triple1) -> (rule3 % int4))) -> (rule2 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
Fiona is red.
("Fiona" "is" "red" "+")
int4
Fiona is not rough.
False
7
inv-proof
[(((((triple2 ((triple2 triple3) -> rule4)) -> rule1) triple3) -> rule2) OR ((((triple2 ((triple2 triple3) -> rule4)) -> rule1) ((triple1) -> rule3)) -> rule2) OR ((((triple2 ((triple2 ((triple1) -> rule3)) -> rule4)) -> rule1) triple3) -> rule2) OR ((((triple2 ((triple2 ((triple1) -> rule3)) -> rule4)) -> rule1) ((triple1) -> rule3)) -> rule2))]
("Fiona" "is" "rough" "-")
((((triple2 ((triple2 triple3) -> (rule4 % int3))) -> (rule1 % int2)) triple3) -> (rule2 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
((((triple2 ((triple2 triple3) -> (rule4 % int4))) -> (rule1 % int3)) ((triple1) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int4
((((triple2 ((triple2 ((triple1) -> (rule3 % int4))) -> (rule4 % int3))) -> (rule1 % int2)) triple3) -> (rule2 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
Fiona is red.
("Fiona" "is" "red" "+")
int4
((((triple2 ((triple2 ((triple1) -> (rule3 % int4))) -> (rule4 % int3))) -> (rule1 % int2)) ((triple1) -> (rule3 % int4))) -> (rule2 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
Fiona is red.
("Fiona" "is" "red" "+")
int4
@0: Fiona is big.[(triple1)] Fiona is furry.[(triple2)] Fiona is red.[(triple3 OR ((triple1) -> rule3))] @1: Fiona is quiet.[(((triple2 triple3) -> rule4) OR ((triple2 ((triple1) -> rule3)) -> rule4))] @2: Fiona is kind.[(((triple2 ((triple2 triple3) -> rule4)) -> rule1) OR ((triple2 ((triple2 ((triple1) -> rule3)) -> rule4)) -> rule1))] @3: Fiona is rough.[(((((triple2 ((triple2 triple3) -> rule4)) -> rule1) triple3) -> rule2) OR ((((triple2 ((triple2 triple3) -> rule4)) -> rule1) ((triple1) -> rule3)) -> rule2) OR ((((triple2 ((triple2 ((triple1) -> rule3)) -> rule4)) -> rule1) triple3) -> rule2) OR ((((triple2 ((triple2 ((triple1) -> rule3)) -> rule4)) -> rule1) ((triple1) -> rule3)) -> rule2))]
Fiona is big.
("Fiona" "is" "big" "+")
triple1
Fiona is furry.
("Fiona" "is" "furry" "+")
triple2
Fiona is red.
("Fiona" "is" "red" "+")
triple3
((triple1) -> (rule3 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
((triple2 triple3) -> (rule4 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
((triple2 ((triple1) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
((triple2 ((triple2 triple3) -> (rule4 % int2))) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
((triple2 ((triple2 ((triple1) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Fiona is rough.
("Fiona" "is" "rough" "+")
((((triple2 ((triple2 triple3) -> (rule4 % int3))) -> (rule1 % int2)) triple3) -> (rule2 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
((((triple2 ((triple2 triple3) -> (rule4 % int4))) -> (rule1 % int3)) ((triple1) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int4
((((triple2 ((triple2 ((triple1) -> (rule3 % int4))) -> (rule4 % int3))) -> (rule1 % int2)) triple3) -> (rule2 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
Fiona is red.
("Fiona" "is" "red" "+")
int4
((((triple2 ((triple2 ((triple1) -> (rule3 % int4))) -> (rule4 % int3))) -> (rule1 % int2)) ((triple1) -> (rule3 % int4))) -> (rule2 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
Fiona is red.
("Fiona" "is" "red" "+")
int4