1:-include(library('ec_planner/ec_test_incl')). 2:-expects_dialect(pfc). 3 % loading(always,'includes/SaaSPatterns/RulesPatterns/targetHolds.e').
4
5% fluent F_TargetHolds(rule)
6 % fluent(f_targetHolds(rule)).
7==> mpred_prop(f_targetHolds(rule),fluent).
8==> meta_argtypes(f_targetHolds(rule)).
9
10% fluent F_TargetDoesntHolds(rule)
11 % fluent(f_targetDoesntHolds(rule)).
12==> mpred_prop(f_targetDoesntHolds(rule),fluent).
13==> meta_argtypes(f_targetDoesntHolds(rule)).
14
15% event E_MatchRuleParametters(rule)
16 % event(e_matchRuleParametters(rule)).
17==> mpred_prop(e_matchRuleParametters(rule),event).
18==> meta_argtypes(e_matchRuleParametters(rule)).
19
20% event E_DontMatchRuleParametters(rule)
21 % event(e_dontMatchRuleParametters(rule)).
22==> mpred_prop(e_dontMatchRuleParametters(rule),event).
23==> meta_argtypes(e_dontMatchRuleParametters(rule)).
24
25
28 29axiom(initiates(e_matchRuleParametters(Rule), f_targetHolds(Rule), Time),
30 []).
31
32
35 36axiom(initiates(e_dontMatchRuleParametters(Rule), f_targetDoesntHolds(Rule), Time),
37 []).
38
39
42 43axiom(requires(e_matchRuleParametters(Rule), Time),
44 [not(holds_at(f_targetHolds(Rule), Time))]).
45
46
49 50axiom(requires(e_dontMatchRuleParametters(Rule), Time),
51 [not(holds_at(f_targetDoesntHolds(Rule), Time))]).
52
53
56 57 58axiom(not(initially(f_targetHolds(TargetHolds_Ret))),
59 []).
60
61
64 65 66axiom(not(initially(f_targetDoesntHolds(TargetDoesntHolds_Ret))),
67 [])