1:-include(library('ec_planner/ec_test_incl')).    2:-expects_dialect(pfc).    3 %  loading(always,'includes/SaaSPatterns/PolicyPatterns/policyModel.e').
    4
    5% event E_policyPermit(policy)
    6 %  event(e_policyPermit(policy)).
    7==> mpred_prop(e_policyPermit(policy),event).
    8==> meta_argtypes(e_policyPermit(policy)).
    9
   10% event E_policyDeny(policy)
   11 %  event(e_policyDeny(policy)).
   12==> mpred_prop(e_policyDeny(policy),event).
   13==> meta_argtypes(e_policyDeny(policy)).
   14
   15% event E_PolicyDoesNotApply(policy)
   16 %  event(e_policyDoesNotApply(policy)).
   17==> mpred_prop(e_policyDoesNotApply(policy),event).
   18==> meta_argtypes(e_policyDoesNotApply(policy)).
   19
   20% fluent F_policyPermitted(policy)
   21 %  fluent(f_policyPermitted(policy)).
   22==> mpred_prop(f_policyPermitted(policy),fluent).
   23==> meta_argtypes(f_policyPermitted(policy)).
   24
   25% fluent F_policyDenied(policy)
   26 %  fluent(f_policyDenied(policy)).
   27==> mpred_prop(f_policyDenied(policy),fluent).
   28==> meta_argtypes(f_policyDenied(policy)).
   29
   30% fluent F_policyNotApplicable(policy)
   31 %  fluent(f_policyNotApplicable(policy)).
   32==> mpred_prop(f_policyNotApplicable(policy),fluent).
   33==> meta_argtypes(f_policyNotApplicable(policy)).
   34
   35% predicate PolicyHasRules(policy,rule)
   36 %  predicate(policyHasRules(policy,rule)).
   37==> mpred_prop(policyHasRules(policy,rule),predicate).
   38==> meta_argtypes(policyHasRules(policy,rule)).
   39
   40
   41% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/includes/SaaSPatterns/PolicyPatterns/policyModel.e:11
   42% [policy,time]
   43 % Initiates(E_policyPermit(policy),F_policyPermitted(policy),time).
   44axiom(initiates(e_policyPermit(Policy), f_policyPermitted(Policy), Time),
   45    []).
   46
   47
   48% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/includes/SaaSPatterns/PolicyPatterns/policyModel.e:12
   49% [policy,time]
   50 % Initiates(E_policyDeny(policy),F_policyDenied(policy),time).
   51axiom(initiates(e_policyDeny(Policy), f_policyDenied(Policy), Time),
   52    []).
   53
   54
   55% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/includes/SaaSPatterns/PolicyPatterns/policyModel.e:13
   56% [policy,time]
   57 % Initiates(E_PolicyDoesNotApply(policy),F_policyNotApplicable(policy),time).
   58axiom(initiates(e_policyDoesNotApply(Policy), f_policyNotApplicable(Policy), Time),
   59    []).
   60
   61
   62% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/includes/SaaSPatterns/PolicyPatterns/policyModel.e:17
   63%; 'Rule combaning algorithm (stategy) : All Permit'
   64% [policy,rule,time]
   65 % Happens(E_policyPermit(policy),time) & PolicyHasRules(policy,rule) -> HoldsAt(F_RulePermitted(rule),time).
   66% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/includes/SaaSPatterns/PolicyPatterns/policyModel.e:18
   67axiom(holds_at(f_rulePermitted(Rule), Time),
   68   
   69    [ happens(e_policyPermit(Policy), Time),
   70      policyHasRules(Policy, Rule)
   71    ]).
   72
   73
   74% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/includes/SaaSPatterns/PolicyPatterns/policyModel.e:21
   75%; 'Rule combaning algorithm (stategy) : Deny override (s il existe au moin une règle satisfaite)'
   76% [policy,time]
   77 % Happens(E_policyDeny(policy),time) -> {rule}  PolicyHasRules(policy,rule) & HoldsAt(F_RuleDenied(rule),time).
   78% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/includes/SaaSPatterns/PolicyPatterns/policyModel.e:22
   79axiom(requires(e_policyDeny(Policy), Time),
   80   
   81    [ policyHasRules(Policy, Rule),
   82      holds_at(f_ruleDenied(Rule), Time)
   83    ]).
   84
   85
   86% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/includes/SaaSPatterns/PolicyPatterns/policyModel.e:25
   87%; 'Rule combaning algorithm (stategy) : All not Applicable'
   88% [policy,time,rule]
   89 % Happens(E_PolicyDoesNotApply(policy),time) & PolicyHasRules(policy,rule) -> HoldsAt(F_RuleNotApplicable(rule),time).
   90% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/includes/SaaSPatterns/PolicyPatterns/policyModel.e:26
   91axiom(holds_at(f_ruleNotApplicable(Rule), Time),
   92   
   93    [ happens(e_policyDoesNotApply(Policy), Time),
   94      policyHasRules(Policy, Rule)
   95    ]).
   96
   97
   98% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/includes/SaaSPatterns/PolicyPatterns/policyModel.e:29
   99% [policy]
  100% !HoldsAt(F_policyPermitted(policy),0).
  101 %  not(initially(f_policyPermitted(Policy))).
  102axiom(not(initially(f_policyPermitted(PolicyPermitted_Ret))),
  103    []).
  104
  105
  106% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/includes/SaaSPatterns/PolicyPatterns/policyModel.e:30
  107% [policy]
  108% !HoldsAt(F_policyDenied(policy),0).
  109 %  not(initially(f_policyDenied(Policy))).
  110axiom(not(initially(f_policyDenied(PolicyDenied_Ret))),
  111    []).
  112
  113
  114% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/includes/SaaSPatterns/PolicyPatterns/policyModel.e:31
  115% [policy]
  116% !HoldsAt(F_policyNotApplicable(policy),0).
  117 %  not(initially(f_policyNotApplicable(Policy))).
  118axiom(not(initially(f_policyNotApplicable(PolicyNotApplicable_Ret))),
  119    [])