Extension Name: folded.def
Primitive Lexicon: None
Defined Lexicon:
Relations:
Definitional Extensions Required by this Extension: None
Grammar: folded.bnf
(forall (?occ1 ?occ2) (iff (branch_homomorphic ?occ1 ?occ2) (and (same_grove ?occ1 ?occ2) (forall (?s1 ?a) (if (and (occurrence_of ?occ1 ?a) (subactivity_occurrence ?s1 ?occ1)) (exists (?s2) (and (subactivity_occurrence ?s2 ?occ2) (hom ?s1 ?s2 ?a))))))))Definition 2 An activity is folded iff there exists a branch such that the set of atomic subactivity occurrences on each branch of the minimal activity tree is a permutation of the atomic subactivity occurrences on the first branch.
(forall (?occ) (iff (folded ?occ) (exists (?occ1) (and (same_grove ?occ1 ?occ) (forall (?occ2) (if (same_grove ?occ2 ?occ) (branch_homomorphic ?occ1 ?occ2)))))))Definition 3 An activity is nondeterministically folded iff there exists a branch such that the set of atomic subactivity occurrences on each branch of the minimal activity tree is a permutation of the atomic subactivity occurrences on the first branch.
(forall (?occ) (iff (nondet_folded ?occ) (forall (?occ1) (if (same_grove ?occ1 ?occ) (exists (?occ2) (and (same_grove ?occ2 ?occ) (not (= ?occ1 ?occ2)) (branch_homomorphic ?occ1 ?occ2)))))))Definition 4 An activity is partially folded iff there exists a branch such that the set of atomic subactivity occurrences on each branch of the minimal activity tree is a permutation of the atomic subactivity occurrences on the first branch.
(forall (?occ) (iff (partial_folded ?occ) (exists (?occ1 ?occ2 ?occ3) (and (same_grove ?occ1 ?occ) (same_grove ?occ2 ?occ) (not (= ?occ1 ?occ2)) (branch_homomorphic ?occ1 ?occ2) (same_grove ?occ3 ?occ) (forall (?occ4) (if (and (same_grove ?occ4 ?occ) (not (= ?occ3 ?occ4))) (not (branch_homomorphic ?occ3 ?occ4))))))))Definition 5 An activity is rigid iff none of the branches in an activity tree are branch homomorphic.
(forall (?occ) (iff (rigid ?occ) (forall (?occ1 ?occ2) (if (and (same_grove ?occ1 ?occ) (same_grove ?occ2 ?occ) (not (= ?occ1 ?occ2))) (not (branch_homomorphic ?occ1 ?occ2))))))