- model: blawx.ruledoc pk: 20 fields: ruledoc_name: Minor Works Order (BROKEN) rule_text: "Minor Works Order\r\n\r\n3. Application\r\n (1) Subsections (2) and (3) apply to the following minor works:\r\n (a) erosion-protection works referred to in subsection 12(1);\r\n (b) aerial cables referred to in subsection 16(1);\r\n (c) submarine cables referred to in section 17;\r\n (d) buried pipelines referred to in section 19;\r\n (e) outfalls and water intakes referred to in section 26;\r\n (f) dredging referred to in section 28; and\r\n (g) watercourse crossings referred to in section 34.\r\n (2) Before beginning the construction, placement, alteration, rebuilding, removal or decommissioning of a minor work, the owner must deposit information in the registry established under section 27.2 of the Act describing the proposed activity and the minor works location.\r\n (3) Before beginning the construction, placement, alteration, rebuilding, removal or decommissioning of a minor work, the owner must publish a notice in accordance with the requirements set out on the Internet site maintained by the Government of Canada entitled Navigation Protection Program External Submission Site under the heading Create a Notification of a Minor Work, as amended from time to time, [exception] {unless the proposed minor work has gone through a federal or provincial review process.}\r\n12. Designation - erosion-protection works\r\n (1) An erosion-protection work that meets the following criteria is designated as a minor work:\r\n (a) the erosion-protection work is integrated with and follows the bank of the navigable water;\r\n (b) if the submerged part of the erosion-protection work extends horizontally into the navigable water further than the non-submerged part of the erosion-protection work, the submerged part is integrated with and follows the slope of the bed of the navigable water;\r\n (c) the erosion-protection work does not extend horizontally more than 5 m into the navigable water;\r\n (d) the erosion-protection work does not occupy more than one-third of the width of the navigable water;\r\n (e) the erosion-protection work is not associated with an existing or proposed work, unless the existing or proposed work is a minor work; and\r\n (f) the erosion-protection work does not include groynes or other structures to deflect the current.\r\n16. Designation - aerial cables\r\n (1) An aerial cable that meets the following criteria is designated as a minor work:\r\n (a) the cable is used exclusively for power or telecommunication purposes;\r\n (b) the cable is not over or across a charted navigable water or a navigation channel;\r\n (c) the cable is not over or across a Canadian heritage river or a river, harbour or historic canal, as defined in section 2 of the Historic Canals Regulations, that is maintained by the Government of Canada;\r\n (d) the towers and poles are not in the area between the ordinary high water marks on each side of the navigable water; and\r\n (e) the cable meets the requirements of section 5.3.3 of Overhead Systems, CAN/CSA C22.3 No. 1, as amended from time to time." akoma_ntoso:

Minor Works Order

3

Application

1

Subsections (2) and (3) apply to the following minor works:

a

erosion-protection works referred to in subsection 12(1);

b

aerial cables referred to in subsection 16(1);

c

submarine cables referred to in section 17;

d

buried pipelines referred to in section 19;

e

outfalls and water intakes referred to in section 26;

f

dredging referred to in section 28; and

g

watercourse crossings referred to in section 34.

2

Before beginning the construction, placement, alteration, rebuilding, removal or decommissioning of a minor work, the owner must deposit information in the registry established under section 27.2 of the Act describing the proposed activity and the minor works location.

3

Before beginning the construction, placement, alteration, rebuilding, removal or decommissioning of a minor work, the owner must publish a notice in accordance with the requirements set out on the Internet site maintained by the Government of Canada entitled Navigation Protection Program External Submission Site under the heading Create a Notification of a Minor Work, as amended from time to time, unless the proposed minor work has gone through a federal or provincial review process.

12

Designation - erosion-protection works

1

An erosion-protection work that meets the following criteria is designated as a minor work:

a

the erosion-protection work is integrated with and follows the bank of the navigable water;

b

if the submerged part of the erosion-protection work extends horizontally into the navigable water further than the non-submerged part of the erosion-protection work, the submerged part is integrated with and follows the slope of the bed of the navigable water;

c

the erosion-protection work does not extend horizontally more than 5 m into the navigable water;

d

the erosion-protection work does not occupy more than one-third of the width of the navigable water;

e

the erosion-protection work is not associated with an existing or proposed work, unless the existing or proposed work is a minor work; and

f

the erosion-protection work does not include groynes or other structures to deflect the current.

16

Designation - aerial cables

1

An aerial cable that meets the following criteria is designated as a minor work:

a

the cable is used exclusively for power or telecommunication purposes;

b

the cable is not over or across a charted navigable water or a navigation channel;

c

the cable is not over or across a Canadian heritage river or a river, harbour or historic canal, as defined in section 2 of the Historic Canals Regulations, that is maintained by the Government of Canada;

d

the towers and poles are not in the area between the ordinary high water marks on each side of the navigable water; and

e

the cable meets the requirements of section 5.3.3 of Overhead Systems, CAN/CSA C22.3 No. 1, as amended from time to time.

navtree: '' scasp_encoding: '' tutorial: '' owner: 2 published: false - model: blawx.workspace pk: 259 fields: ruledoc: 20 workspace_name: root_section xml_content: scasp_encoding: '' - model: blawx.workspace pk: 260 fields: ruledoc: 20 workspace_name: sec_3__subsec_1_section xml_content: workobjectis a workworktriggers_subsection_3_1booleanovworkobject's attribute name isvaluetriggers subsection 3(1) of the Minor Works Orderworkis_a_minor_workbooleanovworkobject's attribute name isvalueis a minor workworkWorkworktriggers subsection 3(1) of the Minor Works OrderWorkMWOWorkFALSEFALSEworkWorkMWOWorkMWO 3.1MWO 3.2WorkTRUEFALSEworkWorkMWOWorkMWO 3.1MWO 3.3WorkMWO 3.2WorkMWO 3.2WorkMWO 3.3WorkMWO 3.3Work scasp_encoding: "blawx_category(work).\nblawx_category_nlg(work,\"\",\"is a work\").\n:- dynamic work/1.\n#pred work(X) :: '@(X) is a work'.\n#pred holds(user,work,X) :: 'it is provided as a fact that @(X) is a work'.\n#pred holds(user,-work,X) :: 'it is provided as a fact that it is not the case that @(X) is a work'.\n#pred holds(Z,work,X) :: 'the conclusion in @(Z) that @(X) is a work holds'.\n#pred holds(Z,-work,X) :: 'the conclusion in @(Z) that it is not the case that @(X) is a work holds'.\n#pred according_to(Z,work,X) :: 'according to @(Z), @(X) is a work'.\n#pred according_to(Z,-work,X) :: 'according to @(Z), it is not the case that @(X) is a work'.\n#pred blawx_defeated(Z,work,X) :: 'the conclusion in @(Z) that @(X) is a work is defeated'.\n#pred blawx_defeated(Z,-work,X) :: 'the conclusion in @(Z) that it is not the case that @(X) is a work is defeated'.\n#pred blawx_initially(work(X)) :: 'that @(X) is a work holds initially'.\n#pred blawx_initially(-work(X)) :: 'that it is not the case that @(X) is a work holds initially'.\n#pred blawx_ultimately(work(X)) :: 'that @(X) is a work holds ultimately'.\n#pred blawx_ultimately(-work(X)) :: 'that it is not the case that @(X) is a work holds ultimately'.\n#pred blawx_as_of(work(X),T) :: 'that @(X) is a work holds at @(T)'.\n#pred blawx_as_of(-work(X),T) :: 'that it is not the case that @(X) is a work holds at @(T)'.\n#pred blawx_during(T1,work(X),T2) :: 'that @(X) is a work held between @(T1) and @(T2)'.\n#pred blawx_during(T1,-work(X),T2) :: 'that it is not the case that @(X) is a work held between @(T1) and @(T2)'.\n#pred blawx_becomes(work(X),T) :: 'that @(X) is a work became true at @(T)'.\n#pred blawx_becomes(-work(X),T) :: 'that it is not the case that @(X) is a work became true at @(T)'.\n#pred blawx_not_interrupted(Start,work(X),End) :: '@(X) is a work remained the case between @(Start) and @(End)'.\n#pred blawx_not_interrupted(Start,-work(X),End) :: 'it is not the case that @(X) is a work remained the case between @(Start) and @(End)'.\nblawx_not_interrupted(datetime(Start),work(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(-work(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(Start),-work(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(work(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(bot),work(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(-work(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(bot),-work(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(work(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(Start),work(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(-work(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(Start),-work(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(work(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(bot),work(X),datetime(eot)) :- blawx_initially(work(X)), blawx_ultimately(work(X)), findall(Time,blawx_becomes(-work(X),datetime(Time)),[]).\nblawx_not_interrupted(datetime(bot),-work(X),datetime(eot)) :- blawx_initially(-work(X)), blawx_ultimately(-work(X)), findall(Time,blawx_becomes(work(X),datetime(Time)),[]).\nblawx_as_of(work(X),datetime(Time)) :- blawx_initially(work(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),work(X),datetime(BeforeT)).\nblawx_as_of(work(X),datetime(Time)) :- blawx_becomes(work(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),work(X),datetime(Time)).\nblawx_as_of(-work(X),datetime(Time)) :- blawx_initially(-work(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),-work(X),datetime(BeforeT)).\nblawx_as_of(-work(X),datetime(Time)) :- blawx_becomes(-work(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),-work(X),datetime(Time)).\nblawx_during(datetime(Start),work(X),datetime(End)) :- blawx_becomes(work(X),datetime(Start)), blawx_becomes(-work(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),work(X),datetime(End)).\nblawx_during(datetime(bot),work(X),datetime(End)) :- blawx_initially(work(X)), blawx_becomes(-work(X),datetime(End)), blawx_not_interrupted(datetime(bot),work(X),datetime(End)).\nblawx_during(datetime(Start),work(X),datetime(eot)) :- blawx_ultimately(work(X)), blawx_becomes(-work(X),datetime(Start)), blawx_not_interrupted(datetime(Start),work(X),datetime(eot)).\nblawx_during(datetime(bot),work(X),datetime(eot)) :- blawx_initially(work(X)), blawx_ultimately(work(X)), blawx_becomes(-work(X),datetime(Start)), blawx_not_interrupted(datetime(bot),work(X),datetime(eot)).\nblawx_during(datetime(Start),-work(X),datetime(End)) :- blawx_becomes(-work(X),datetime(Start)), blawx_becomes(work(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),-work(X),datetime(End)).\nblawx_during(datetime(bot),-work(X),datetime(End)) :- blawx_initially(-work(X)), blawx_becomes(work(X),datetime(End)), blawx_not_interrupted(datetime(bot),-work(X),datetime(End)).\nblawx_during(datetime(Start),-work(X),datetime(eot)) :- blawx_ultimately(-work(X)), blawx_becomes(work(X),datetime(Start)), blawx_not_interrupted(datetime(Start),-work(X),datetime(eot)).\nblawx_during(datetime(bot),-work(X),datetime(eot)) :- blawx_initially(-work(X)), blawx_ultimately(-work(X)), blawx_becomes(-work(X),datetime(Start)), blawx_not_interrupted(datetime(bot),-work(X),datetime(eot)).\nblawx_attribute(work,triggers_subsection_3_1,boolean).\nblawx_attribute_nlg(triggers_subsection_3_1,not_applicable,\"work\",not_applicable,\"triggers subsection 3(1) of the Minor Works Order\").\n:- dynamic triggers_subsection_3_1/1.\n#pred triggers_subsection_3_1(X) :: 'work @(X) triggers subsection 3(1) of the Minor Works Order'.\n#pred holds(user,triggers_subsection_3_1,X) :: 'it is provided as a fact that work @(X) triggers subsection 3(1) of the Minor Works Order'.\n#pred holds(user,-triggers_subsection_3_1,X) :: 'it is provided as a fact that it is not the case that work @(X) triggers subsection 3(1) of the Minor Works Order'.\n#pred holds(Z,triggers_subsection_3_1,X) :: 'the conclusion in @(Z) that work @(X) triggers subsection 3(1) of the Minor Works Order holds'.\n#pred holds(Z,-triggers_subsection_3_1,X) :: 'the conclusion in @(Z) that it is not the case that work @(X) triggers subsection 3(1) of the Minor Works Order holds'.\n#pred according_to(Z,triggers_subsection_3_1,X) :: 'according to @(Z), work @(X) triggers subsection 3(1) of the Minor Works Order'.\n#pred according_to(Z,-triggers_subsection_3_1,X) :: 'according to @(Z), it is not the case that work @(X) triggers subsection 3(1) of the Minor Works Order'.\n#pred blawx_defeated(Z,triggers_subsection_3_1,X) :: 'the conclusion in @(Z) that work @(X) triggers subsection 3(1) of the Minor Works Order is defeated'.\n#pred blawx_defeated(Z,-triggers_subsection_3_1,X) :: 'the conclusion in @(Z) that work @(X) triggers subsection 3(1) of the Minor Works Order is defeated'.\n#pred blawx_initially(triggers_subsection_3_1(X)) :: 'that work @(X) triggers subsection 3(1) of the Minor Works Order holds initially'.\n#pred blawx_initially(-triggers_subsection_3_1(X)) :: 'that it is not the case that work @(X) triggers subsection 3(1) of the Minor Works Order holds initially'.\n#pred blawx_ultimately(triggers_subsection_3_1(X)) :: 'that work @(X) triggers subsection 3(1) of the Minor Works Order holds ultimately'.\n#pred blawx_ultimately(-triggers_subsection_3_1(X)) :: 'that it is not the case that work @(X) triggers subsection 3(1) of the Minor Works Order holds ultimately'.\n#pred blawx_as_of(triggers_subsection_3_1(X),T) :: 'that work @(X) triggers subsection 3(1) of the Minor Works Order holds at @(T)'.\n#pred blawx_as_of(-triggers_subsection_3_1(X),T) :: 'that it is not the case that work @(X) triggers subsection 3(1) of the Minor Works Order holds at @(T)'.\n#pred blawx_during(T1,triggers_subsection_3_1(X),T2) :: 'that work @(X) triggers subsection 3(1) of the Minor Works Order held between @(T1) and @(T2)'.\n#pred blawx_during(T1,-triggers_subsection_3_1(X),T2) :: 'that it is not the case that work @(X) triggers subsection 3(1) of the Minor Works Order held between @(T1) and @(T2)'.\n#pred blawx_becomes(triggers_subsection_3_1(X),T) :: 'that work @(X) triggers subsection 3(1) of the Minor Works Order became true at @(T)'.\n#pred blawx_becomes(-triggers_subsection_3_1(X),T) :: 'that it is not the case that work @(X) triggers subsection 3(1) of the Minor Works Order became true at @(T)'.\n#pred blawx_not_interrupted(Start,triggers_subsection_3_1(X),End) :: 'work @(X) triggers subsection 3(1) of the Minor Works Order remained the case between @(Start) and @(End)'.\n#pred blawx_not_interrupted(Start,-triggers_subsection_3_1(X),End) :: 'it is not the case that work @(X) triggers subsection 3(1) of the Minor Works Order remained the case between @(Start) and @(End)'.\nblawx_not_interrupted(datetime(Start),triggers_subsection_3_1(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(-triggers_subsection_3_1(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(Start),-triggers_subsection_3_1(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(triggers_subsection_3_1(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(bot),triggers_subsection_3_1(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(-triggers_subsection_3_1(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(bot),-triggers_subsection_3_1(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(triggers_subsection_3_1(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(Start),triggers_subsection_3_1(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(-triggers_subsection_3_1(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(Start),-triggers_subsection_3_1(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(triggers_subsection_3_1(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(bot),triggers_subsection_3_1(X),datetime(eot)) :- blawx_initially(triggers_subsection_3_1(X)), blawx_ultimately(triggers_subsection_3_1(X)), findall(Time,blawx_becomes(-triggers_subsection_3_1(X),datetime(Time)),[]).\nblawx_not_interrupted(datetime(bot),-triggers_subsection_3_1(X),datetime(eot)) :- blawx_initially(-triggers_subsection_3_1(X)), blawx_ultimately(-triggers_subsection_3_1(X)), findall(Time,blawx_becomes(triggers_subsection_3_1(X),datetime(Time)),[]).\nblawx_as_of(triggers_subsection_3_1(X),datetime(Time)) :- blawx_initially(triggers_subsection_3_1(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),triggers_subsection_3_1(X),datetime(BeforeT)).\nblawx_as_of(triggers_subsection_3_1(X),datetime(Time)) :- blawx_becomes(triggers_subsection_3_1(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),triggers_subsection_3_1(X),datetime(Time)).\nblawx_as_of(-triggers_subsection_3_1(X),datetime(Time)) :- blawx_initially(-triggers_subsection_3_1(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),-triggers_subsection_3_1(X),datetime(BeforeT)).\nblawx_as_of(-triggers_subsection_3_1(X),datetime(Time)) :- blawx_becomes(-triggers_subsection_3_1(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),-triggers_subsection_3_1(X),datetime(Time)).\nblawx_during(datetime(Start),triggers_subsection_3_1(X),datetime(End)) :- blawx_becomes(triggers_subsection_3_1(X),datetime(Start)), blawx_becomes(-triggers_subsection_3_1(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),triggers_subsection_3_1(X),datetime(End)).\nblawx_during(datetime(bot),triggers_subsection_3_1(X),datetime(End)) :- blawx_initially(triggers_subsection_3_1(X)), blawx_becomes(-triggers_subsection_3_1(X),datetime(End)), blawx_not_interrupted(datetime(bot),triggers_subsection_3_1(X),datetime(End)).\nblawx_during(datetime(Start),triggers_subsection_3_1(X),datetime(eot)) :- blawx_ultimately(triggers_subsection_3_1(X)), blawx_becomes(-triggers_subsection_3_1(X),datetime(Start)), blawx_not_interrupted(datetime(Start),triggers_subsection_3_1(X),datetime(eot)).\nblawx_during(datetime(bot),triggers_subsection_3_1(X),datetime(eot)) :- blawx_initially(triggers_subsection_3_1(X)), blawx_ultimately(triggers_subsection_3_1(X)), blawx_becomes(-triggers_subsection_3_1(X),datetime(Start)), blawx_not_interrupted(datetime(bot),triggers_subsection_3_1(X),datetime(eot)).\nblawx_during(datetime(Start),-triggers_subsection_3_1(X),datetime(End)) :- blawx_becomes(-triggers_subsection_3_1(X),datetime(Start)), blawx_becomes(triggers_subsection_3_1(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),-triggers_subsection_3_1(X),datetime(End)).\nblawx_during(datetime(bot),-triggers_subsection_3_1(X),datetime(End)) :- blawx_initially(-triggers_subsection_3_1(X)), blawx_becomes(triggers_subsection_3_1(X),datetime(End)), blawx_not_interrupted(datetime(bot),-triggers_subsection_3_1(X),datetime(End)).\nblawx_during(datetime(Start),-triggers_subsection_3_1(X),datetime(eot)) :- blawx_ultimately(-triggers_subsection_3_1(X)), blawx_becomes(triggers_subsection_3_1(X),datetime(Start)), blawx_not_interrupted(datetime(Start),-triggers_subsection_3_1(X),datetime(eot)).\nblawx_during(datetime(bot),-triggers_subsection_3_1(X),datetime(eot)) :- blawx_initially(-triggers_subsection_3_1(X)), blawx_ultimately(-triggers_subsection_3_1(X)), blawx_becomes(-triggers_subsection_3_1(X),datetime(Start)), blawx_not_interrupted(datetime(bot),-triggers_subsection_3_1(X),datetime(eot)).\nblawx_attribute(work,is_a_minor_work,boolean).\nblawx_attribute_nlg(is_a_minor_work,not_applicable,\"work\",not_applicable,\"is a minor work\").\n:- dynamic is_a_minor_work/1.\n#pred is_a_minor_work(X) :: 'work @(X) is a minor work'.\n#pred holds(user,is_a_minor_work,X) :: 'it is provided as a fact that work @(X) is a minor work'.\n#pred holds(user,-is_a_minor_work,X) :: 'it is provided as a fact that it is not the case that work @(X) is a minor work'.\n#pred holds(Z,is_a_minor_work,X) :: 'the conclusion in @(Z) that work @(X) is a minor work holds'.\n#pred holds(Z,-is_a_minor_work,X) :: 'the conclusion in @(Z) that it is not the case that work @(X) is a minor work holds'.\n#pred according_to(Z,is_a_minor_work,X) :: 'according to @(Z), work @(X) is a minor work'.\n#pred according_to(Z,-is_a_minor_work,X) :: 'according to @(Z), it is not the case that work @(X) is a minor work'.\n#pred blawx_defeated(Z,is_a_minor_work,X) :: 'the conclusion in @(Z) that work @(X) is a minor work is defeated'.\n#pred blawx_defeated(Z,-is_a_minor_work,X) :: 'the conclusion in @(Z) that work @(X) is a minor work is defeated'.\n#pred blawx_initially(is_a_minor_work(X)) :: 'that work @(X) is a minor work holds initially'.\n#pred blawx_initially(-is_a_minor_work(X)) :: 'that it is not the case that work @(X) is a minor work holds initially'.\n#pred blawx_ultimately(is_a_minor_work(X)) :: 'that work @(X) is a minor work holds ultimately'.\n#pred blawx_ultimately(-is_a_minor_work(X)) :: 'that it is not the case that work @(X) is a minor work holds ultimately'.\n#pred blawx_as_of(is_a_minor_work(X),T) :: 'that work @(X) is a minor work holds at @(T)'.\n#pred blawx_as_of(-is_a_minor_work(X),T) :: 'that it is not the case that work @(X) is a minor work holds at @(T)'.\n#pred blawx_during(T1,is_a_minor_work(X),T2) :: 'that work @(X) is a minor work held between @(T1) and @(T2)'.\n#pred blawx_during(T1,-is_a_minor_work(X),T2) :: 'that it is not the case that work @(X) is a minor work held between @(T1) and @(T2)'.\n#pred blawx_becomes(is_a_minor_work(X),T) :: 'that work @(X) is a minor work became true at @(T)'.\n#pred blawx_becomes(-is_a_minor_work(X),T) :: 'that it is not the case that work @(X) is a minor work became true at @(T)'.\n#pred blawx_not_interrupted(Start,is_a_minor_work(X),End) :: 'work @(X) is a minor work remained the case between @(Start) and @(End)'.\n#pred blawx_not_interrupted(Start,-is_a_minor_work(X),End) :: 'it is not the case that work @(X) is a minor work remained the case between @(Start) and @(End)'.\nblawx_not_interrupted(datetime(Start),is_a_minor_work(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(-is_a_minor_work(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(Start),-is_a_minor_work(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(is_a_minor_work(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(bot),is_a_minor_work(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(-is_a_minor_work(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(bot),-is_a_minor_work(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(is_a_minor_work(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(Start),is_a_minor_work(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(-is_a_minor_work(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(Start),-is_a_minor_work(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(is_a_minor_work(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(bot),is_a_minor_work(X),datetime(eot)) :- blawx_initially(is_a_minor_work(X)), blawx_ultimately(is_a_minor_work(X)), findall(Time,blawx_becomes(-is_a_minor_work(X),datetime(Time)),[]).\nblawx_not_interrupted(datetime(bot),-is_a_minor_work(X),datetime(eot)) :- blawx_initially(-is_a_minor_work(X)), blawx_ultimately(-is_a_minor_work(X)), findall(Time,blawx_becomes(is_a_minor_work(X),datetime(Time)),[]).\nblawx_as_of(is_a_minor_work(X),datetime(Time)) :- blawx_initially(is_a_minor_work(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),is_a_minor_work(X),datetime(BeforeT)).\nblawx_as_of(is_a_minor_work(X),datetime(Time)) :- blawx_becomes(is_a_minor_work(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),is_a_minor_work(X),datetime(Time)).\nblawx_as_of(-is_a_minor_work(X),datetime(Time)) :- blawx_initially(-is_a_minor_work(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),-is_a_minor_work(X),datetime(BeforeT)).\nblawx_as_of(-is_a_minor_work(X),datetime(Time)) :- blawx_becomes(-is_a_minor_work(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),-is_a_minor_work(X),datetime(Time)).\nblawx_during(datetime(Start),is_a_minor_work(X),datetime(End)) :- blawx_becomes(is_a_minor_work(X),datetime(Start)), blawx_becomes(-is_a_minor_work(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),is_a_minor_work(X),datetime(End)).\nblawx_during(datetime(bot),is_a_minor_work(X),datetime(End)) :- blawx_initially(is_a_minor_work(X)), blawx_becomes(-is_a_minor_work(X),datetime(End)), blawx_not_interrupted(datetime(bot),is_a_minor_work(X),datetime(End)).\nblawx_during(datetime(Start),is_a_minor_work(X),datetime(eot)) :- blawx_ultimately(is_a_minor_work(X)), blawx_becomes(-is_a_minor_work(X),datetime(Start)), blawx_not_interrupted(datetime(Start),is_a_minor_work(X),datetime(eot)).\nblawx_during(datetime(bot),is_a_minor_work(X),datetime(eot)) :- blawx_initially(is_a_minor_work(X)), blawx_ultimately(is_a_minor_work(X)), blawx_becomes(-is_a_minor_work(X),datetime(Start)), blawx_not_interrupted(datetime(bot),is_a_minor_work(X),datetime(eot)).\nblawx_during(datetime(Start),-is_a_minor_work(X),datetime(End)) :- blawx_becomes(-is_a_minor_work(X),datetime(Start)), blawx_becomes(is_a_minor_work(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),-is_a_minor_work(X),datetime(End)).\nblawx_during(datetime(bot),-is_a_minor_work(X),datetime(End)) :- blawx_initially(-is_a_minor_work(X)), blawx_becomes(is_a_minor_work(X),datetime(End)), blawx_not_interrupted(datetime(bot),-is_a_minor_work(X),datetime(End)).\nblawx_during(datetime(Start),-is_a_minor_work(X),datetime(eot)) :- blawx_ultimately(-is_a_minor_work(X)), blawx_becomes(is_a_minor_work(X),datetime(Start)), blawx_not_interrupted(datetime(Start),-is_a_minor_work(X),datetime(eot)).\nblawx_during(datetime(bot),-is_a_minor_work(X),datetime(eot)) :- blawx_initially(-is_a_minor_work(X)), blawx_ultimately(-is_a_minor_work(X)), blawx_becomes(-is_a_minor_work(X),datetime(Start)), blawx_not_interrupted(datetime(bot),-is_a_minor_work(X),datetime(eot)).\n\nblawx_applies(root_section,Work) :-\nwork(Work),\ntriggers_subsection_3_1(Work).\n\naccording_to(sec_3__subsec_1_section,blawx_applies,sec_3__subsec_2_section,Work) :- work(Work),\nblawx_applies(root_section,Work).\n\n% BLAWX CHECK DUPLICATES\nholds(sec_3__subsec_1_section,blawx_applies,sec_3__subsec_2_section,Work) :- according_to(sec_3__subsec_1_section,blawx_applies,sec_3__subsec_2_section,Work).\n\n% BLAWX CHECK DUPLICATES\n blawx_applies(sec_3__subsec_2_section,Work) :- holds(sec_3__subsec_1_section,blawx_applies,sec_3__subsec_2_section,Work).\n\naccording_to(sec_3__subsec_1_section,blawx_applies,sec_3__subsec_3_section,Work) :- work(Work),\nblawx_applies(root_section,Work).\n\n% BLAWX CHECK DUPLICATES\nholds(sec_3__subsec_1_section,blawx_applies,sec_3__subsec_3_section,Work) :- according_to(sec_3__subsec_1_section,blawx_applies,sec_3__subsec_3_section,Work), not blawx_defeated(sec_3__subsec_1_section,blawx_applies,sec_3__subsec_3_section,Work).\n\n% BLAWX CHECK DUPLICATES\n blawx_applies(sec_3__subsec_3_section,Work) :- holds(sec_3__subsec_1_section,blawx_applies,sec_3__subsec_3_section,Work).\n\n-blawx_applies(sec_3__subsec_2_section,Work) :-\nnot blawx_applies(sec_3__subsec_2_section,Work).\n\n-blawx_applies(sec_3__subsec_3_section,Work) :-\nnot blawx_applies(sec_3__subsec_3_section,Work)." - model: blawx.workspace pk: 261 fields: ruledoc: 20 workspace_name: sec_3_section xml_content: '' scasp_encoding: '' - model: blawx.workspace pk: 262 fields: ruledoc: 20 workspace_name: sec_3__subsec_1__para_a_section xml_content: workmeets_definition_s12_1booleanovworkobject's attribute name isvalueis an erosion-protection work refereed to in subsection 12(1) of the Minor Works OrderFALSEFALSEworkWorkworkis an erosion-protection work refereed to in subsection 12(1) of the Minor Works OrderWorkMWO 3.1.aworktriggers subsection 3(1) of the Minor Works OrderWork scasp_encoding: "blawx_attribute(work,meets_definition_s12_1,boolean).\nblawx_attribute_nlg(meets_definition_s12_1,not_applicable,\"work\",not_applicable,\"is an erosion-protection work refereed to in subsection 12(1) of the Minor Works Order\").\n:- dynamic meets_definition_s12_1/1.\n#pred meets_definition_s12_1(X) :: 'work @(X) is an erosion-protection work refereed to in subsection 12(1) of the Minor Works Order'.\n#pred holds(user,meets_definition_s12_1,X) :: 'it is provided as a fact that work @(X) is an erosion-protection work refereed to in subsection 12(1) of the Minor Works Order'.\n#pred holds(user,-meets_definition_s12_1,X) :: 'it is provided as a fact that it is not the case that work @(X) is an erosion-protection work refereed to in subsection 12(1) of the Minor Works Order'.\n#pred holds(Z,meets_definition_s12_1,X) :: 'the conclusion in @(Z) that work @(X) is an erosion-protection work refereed to in subsection 12(1) of the Minor Works Order holds'.\n#pred holds(Z,-meets_definition_s12_1,X) :: 'the conclusion in @(Z) that it is not the case that work @(X) is an erosion-protection work refereed to in subsection 12(1) of the Minor Works Order holds'.\n#pred according_to(Z,meets_definition_s12_1,X) :: 'according to @(Z), work @(X) is an erosion-protection work refereed to in subsection 12(1) of the Minor Works Order'.\n#pred according_to(Z,-meets_definition_s12_1,X) :: 'according to @(Z), it is not the case that work @(X) is an erosion-protection work refereed to in subsection 12(1) of the Minor Works Order'.\n#pred blawx_defeated(Z,meets_definition_s12_1,X) :: 'the conclusion in @(Z) that work @(X) is an erosion-protection work refereed to in subsection 12(1) of the Minor Works Order is defeated'.\n#pred blawx_defeated(Z,-meets_definition_s12_1,X) :: 'the conclusion in @(Z) that work @(X) is an erosion-protection work refereed to in subsection 12(1) of the Minor Works Order is defeated'.\n#pred blawx_initially(meets_definition_s12_1(X)) :: 'that work @(X) is an erosion-protection work refereed to in subsection 12(1) of the Minor Works Order holds initially'.\n#pred blawx_initially(-meets_definition_s12_1(X)) :: 'that it is not the case that work @(X) is an erosion-protection work refereed to in subsection 12(1) of the Minor Works Order holds initially'.\n#pred blawx_ultimately(meets_definition_s12_1(X)) :: 'that work @(X) is an erosion-protection work refereed to in subsection 12(1) of the Minor Works Order holds ultimately'.\n#pred blawx_ultimately(-meets_definition_s12_1(X)) :: 'that it is not the case that work @(X) is an erosion-protection work refereed to in subsection 12(1) of the Minor Works Order holds ultimately'.\n#pred blawx_as_of(meets_definition_s12_1(X),T) :: 'that work @(X) is an erosion-protection work refereed to in subsection 12(1) of the Minor Works Order holds at @(T)'.\n#pred blawx_as_of(-meets_definition_s12_1(X),T) :: 'that it is not the case that work @(X) is an erosion-protection work refereed to in subsection 12(1) of the Minor Works Order holds at @(T)'.\n#pred blawx_during(T1,meets_definition_s12_1(X),T2) :: 'that work @(X) is an erosion-protection work refereed to in subsection 12(1) of the Minor Works Order held between @(T1) and @(T2)'.\n#pred blawx_during(T1,-meets_definition_s12_1(X),T2) :: 'that it is not the case that work @(X) is an erosion-protection work refereed to in subsection 12(1) of the Minor Works Order held between @(T1) and @(T2)'.\n#pred blawx_becomes(meets_definition_s12_1(X),T) :: 'that work @(X) is an erosion-protection work refereed to in subsection 12(1) of the Minor Works Order became true at @(T)'.\n#pred blawx_becomes(-meets_definition_s12_1(X),T) :: 'that it is not the case that work @(X) is an erosion-protection work refereed to in subsection 12(1) of the Minor Works Order became true at @(T)'.\n#pred blawx_not_interrupted(Start,meets_definition_s12_1(X),End) :: 'work @(X) is an erosion-protection work refereed to in subsection 12(1) of the Minor Works Order remained the case between @(Start) and @(End)'.\n#pred blawx_not_interrupted(Start,-meets_definition_s12_1(X),End) :: 'it is not the case that work @(X) is an erosion-protection work refereed to in subsection 12(1) of the Minor Works Order remained the case between @(Start) and @(End)'.\nblawx_not_interrupted(datetime(Start),meets_definition_s12_1(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(-meets_definition_s12_1(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(Start),-meets_definition_s12_1(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(meets_definition_s12_1(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(bot),meets_definition_s12_1(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(-meets_definition_s12_1(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(bot),-meets_definition_s12_1(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(meets_definition_s12_1(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(Start),meets_definition_s12_1(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(-meets_definition_s12_1(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(Start),-meets_definition_s12_1(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(meets_definition_s12_1(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(bot),meets_definition_s12_1(X),datetime(eot)) :- blawx_initially(meets_definition_s12_1(X)), blawx_ultimately(meets_definition_s12_1(X)), findall(Time,blawx_becomes(-meets_definition_s12_1(X),datetime(Time)),[]).\nblawx_not_interrupted(datetime(bot),-meets_definition_s12_1(X),datetime(eot)) :- blawx_initially(-meets_definition_s12_1(X)), blawx_ultimately(-meets_definition_s12_1(X)), findall(Time,blawx_becomes(meets_definition_s12_1(X),datetime(Time)),[]).\nblawx_as_of(meets_definition_s12_1(X),datetime(Time)) :- blawx_initially(meets_definition_s12_1(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),meets_definition_s12_1(X),datetime(BeforeT)).\nblawx_as_of(meets_definition_s12_1(X),datetime(Time)) :- blawx_becomes(meets_definition_s12_1(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),meets_definition_s12_1(X),datetime(Time)).\nblawx_as_of(-meets_definition_s12_1(X),datetime(Time)) :- blawx_initially(-meets_definition_s12_1(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),-meets_definition_s12_1(X),datetime(BeforeT)).\nblawx_as_of(-meets_definition_s12_1(X),datetime(Time)) :- blawx_becomes(-meets_definition_s12_1(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),-meets_definition_s12_1(X),datetime(Time)).\nblawx_during(datetime(Start),meets_definition_s12_1(X),datetime(End)) :- blawx_becomes(meets_definition_s12_1(X),datetime(Start)), blawx_becomes(-meets_definition_s12_1(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),meets_definition_s12_1(X),datetime(End)).\nblawx_during(datetime(bot),meets_definition_s12_1(X),datetime(End)) :- blawx_initially(meets_definition_s12_1(X)), blawx_becomes(-meets_definition_s12_1(X),datetime(End)), blawx_not_interrupted(datetime(bot),meets_definition_s12_1(X),datetime(End)).\nblawx_during(datetime(Start),meets_definition_s12_1(X),datetime(eot)) :- blawx_ultimately(meets_definition_s12_1(X)), blawx_becomes(-meets_definition_s12_1(X),datetime(Start)), blawx_not_interrupted(datetime(Start),meets_definition_s12_1(X),datetime(eot)).\nblawx_during(datetime(bot),meets_definition_s12_1(X),datetime(eot)) :- blawx_initially(meets_definition_s12_1(X)), blawx_ultimately(meets_definition_s12_1(X)), blawx_becomes(-meets_definition_s12_1(X),datetime(Start)), blawx_not_interrupted(datetime(bot),meets_definition_s12_1(X),datetime(eot)).\nblawx_during(datetime(Start),-meets_definition_s12_1(X),datetime(End)) :- blawx_becomes(-meets_definition_s12_1(X),datetime(Start)), blawx_becomes(meets_definition_s12_1(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),-meets_definition_s12_1(X),datetime(End)).\nblawx_during(datetime(bot),-meets_definition_s12_1(X),datetime(End)) :- blawx_initially(-meets_definition_s12_1(X)), blawx_becomes(meets_definition_s12_1(X),datetime(End)), blawx_not_interrupted(datetime(bot),-meets_definition_s12_1(X),datetime(End)).\nblawx_during(datetime(Start),-meets_definition_s12_1(X),datetime(eot)) :- blawx_ultimately(-meets_definition_s12_1(X)), blawx_becomes(meets_definition_s12_1(X),datetime(Start)), blawx_not_interrupted(datetime(Start),-meets_definition_s12_1(X),datetime(eot)).\nblawx_during(datetime(bot),-meets_definition_s12_1(X),datetime(eot)) :- blawx_initially(-meets_definition_s12_1(X)), blawx_ultimately(-meets_definition_s12_1(X)), blawx_becomes(-meets_definition_s12_1(X),datetime(Start)), blawx_not_interrupted(datetime(bot),-meets_definition_s12_1(X),datetime(eot)).\n\naccording_to(sec_3__subsec_1__para_a_section,triggers_subsection_3_1,Work) :- work(Work),\nmeets_definition_s12_1(Work).\n\n% BLAWX CHECK DUPLICATES\nholds(sec_3__subsec_1__para_a_section,triggers_subsection_3_1,Work) :- according_to(sec_3__subsec_1__para_a_section,triggers_subsection_3_1,Work).\n\n% BLAWX CHECK DUPLICATES\n triggers_subsection_3_1(Work) :- holds(sec_3__subsec_1__para_a_section,triggers_subsection_3_1,Work)." - model: blawx.workspace pk: 263 fields: ruledoc: 20 workspace_name: sec_3__subsec_1__para_b_section xml_content: workmeets_definition_s16_1booleanovworkobject's attribute name isvalueis aerial cables referred to in subsection 16(1) of the Minor Works OrderFALSEFALSEworkWorkworkis aerial cables referred to in subsection 16(1) of the Minor Works OrderWorkMWO 3.1.bworktriggers subsection 3(1) of the Minor Works OrderWork scasp_encoding: "blawx_attribute(work,meets_definition_s16_1,boolean).\nblawx_attribute_nlg(meets_definition_s16_1,not_applicable,\"work\",not_applicable,\"is aerial cables referred to in subsection 16(1) of the Minor Works Order\").\n:- dynamic meets_definition_s16_1/1.\n#pred meets_definition_s16_1(X) :: 'work @(X) is aerial cables referred to in subsection 16(1) of the Minor Works Order'.\n#pred holds(user,meets_definition_s16_1,X) :: 'it is provided as a fact that work @(X) is aerial cables referred to in subsection 16(1) of the Minor Works Order'.\n#pred holds(user,-meets_definition_s16_1,X) :: 'it is provided as a fact that it is not the case that work @(X) is aerial cables referred to in subsection 16(1) of the Minor Works Order'.\n#pred holds(Z,meets_definition_s16_1,X) :: 'the conclusion in @(Z) that work @(X) is aerial cables referred to in subsection 16(1) of the Minor Works Order holds'.\n#pred holds(Z,-meets_definition_s16_1,X) :: 'the conclusion in @(Z) that it is not the case that work @(X) is aerial cables referred to in subsection 16(1) of the Minor Works Order holds'.\n#pred according_to(Z,meets_definition_s16_1,X) :: 'according to @(Z), work @(X) is aerial cables referred to in subsection 16(1) of the Minor Works Order'.\n#pred according_to(Z,-meets_definition_s16_1,X) :: 'according to @(Z), it is not the case that work @(X) is aerial cables referred to in subsection 16(1) of the Minor Works Order'.\n#pred blawx_defeated(Z,meets_definition_s16_1,X) :: 'the conclusion in @(Z) that work @(X) is aerial cables referred to in subsection 16(1) of the Minor Works Order is defeated'.\n#pred blawx_defeated(Z,-meets_definition_s16_1,X) :: 'the conclusion in @(Z) that work @(X) is aerial cables referred to in subsection 16(1) of the Minor Works Order is defeated'.\n#pred blawx_initially(meets_definition_s16_1(X)) :: 'that work @(X) is aerial cables referred to in subsection 16(1) of the Minor Works Order holds initially'.\n#pred blawx_initially(-meets_definition_s16_1(X)) :: 'that it is not the case that work @(X) is aerial cables referred to in subsection 16(1) of the Minor Works Order holds initially'.\n#pred blawx_ultimately(meets_definition_s16_1(X)) :: 'that work @(X) is aerial cables referred to in subsection 16(1) of the Minor Works Order holds ultimately'.\n#pred blawx_ultimately(-meets_definition_s16_1(X)) :: 'that it is not the case that work @(X) is aerial cables referred to in subsection 16(1) of the Minor Works Order holds ultimately'.\n#pred blawx_as_of(meets_definition_s16_1(X),T) :: 'that work @(X) is aerial cables referred to in subsection 16(1) of the Minor Works Order holds at @(T)'.\n#pred blawx_as_of(-meets_definition_s16_1(X),T) :: 'that it is not the case that work @(X) is aerial cables referred to in subsection 16(1) of the Minor Works Order holds at @(T)'.\n#pred blawx_during(T1,meets_definition_s16_1(X),T2) :: 'that work @(X) is aerial cables referred to in subsection 16(1) of the Minor Works Order held between @(T1) and @(T2)'.\n#pred blawx_during(T1,-meets_definition_s16_1(X),T2) :: 'that it is not the case that work @(X) is aerial cables referred to in subsection 16(1) of the Minor Works Order held between @(T1) and @(T2)'.\n#pred blawx_becomes(meets_definition_s16_1(X),T) :: 'that work @(X) is aerial cables referred to in subsection 16(1) of the Minor Works Order became true at @(T)'.\n#pred blawx_becomes(-meets_definition_s16_1(X),T) :: 'that it is not the case that work @(X) is aerial cables referred to in subsection 16(1) of the Minor Works Order became true at @(T)'.\n#pred blawx_not_interrupted(Start,meets_definition_s16_1(X),End) :: 'work @(X) is aerial cables referred to in subsection 16(1) of the Minor Works Order remained the case between @(Start) and @(End)'.\n#pred blawx_not_interrupted(Start,-meets_definition_s16_1(X),End) :: 'it is not the case that work @(X) is aerial cables referred to in subsection 16(1) of the Minor Works Order remained the case between @(Start) and @(End)'.\nblawx_not_interrupted(datetime(Start),meets_definition_s16_1(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(-meets_definition_s16_1(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(Start),-meets_definition_s16_1(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(meets_definition_s16_1(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(bot),meets_definition_s16_1(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(-meets_definition_s16_1(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(bot),-meets_definition_s16_1(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(meets_definition_s16_1(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(Start),meets_definition_s16_1(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(-meets_definition_s16_1(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(Start),-meets_definition_s16_1(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(meets_definition_s16_1(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(bot),meets_definition_s16_1(X),datetime(eot)) :- blawx_initially(meets_definition_s16_1(X)), blawx_ultimately(meets_definition_s16_1(X)), findall(Time,blawx_becomes(-meets_definition_s16_1(X),datetime(Time)),[]).\nblawx_not_interrupted(datetime(bot),-meets_definition_s16_1(X),datetime(eot)) :- blawx_initially(-meets_definition_s16_1(X)), blawx_ultimately(-meets_definition_s16_1(X)), findall(Time,blawx_becomes(meets_definition_s16_1(X),datetime(Time)),[]).\nblawx_as_of(meets_definition_s16_1(X),datetime(Time)) :- blawx_initially(meets_definition_s16_1(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),meets_definition_s16_1(X),datetime(BeforeT)).\nblawx_as_of(meets_definition_s16_1(X),datetime(Time)) :- blawx_becomes(meets_definition_s16_1(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),meets_definition_s16_1(X),datetime(Time)).\nblawx_as_of(-meets_definition_s16_1(X),datetime(Time)) :- blawx_initially(-meets_definition_s16_1(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),-meets_definition_s16_1(X),datetime(BeforeT)).\nblawx_as_of(-meets_definition_s16_1(X),datetime(Time)) :- blawx_becomes(-meets_definition_s16_1(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),-meets_definition_s16_1(X),datetime(Time)).\nblawx_during(datetime(Start),meets_definition_s16_1(X),datetime(End)) :- blawx_becomes(meets_definition_s16_1(X),datetime(Start)), blawx_becomes(-meets_definition_s16_1(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),meets_definition_s16_1(X),datetime(End)).\nblawx_during(datetime(bot),meets_definition_s16_1(X),datetime(End)) :- blawx_initially(meets_definition_s16_1(X)), blawx_becomes(-meets_definition_s16_1(X),datetime(End)), blawx_not_interrupted(datetime(bot),meets_definition_s16_1(X),datetime(End)).\nblawx_during(datetime(Start),meets_definition_s16_1(X),datetime(eot)) :- blawx_ultimately(meets_definition_s16_1(X)), blawx_becomes(-meets_definition_s16_1(X),datetime(Start)), blawx_not_interrupted(datetime(Start),meets_definition_s16_1(X),datetime(eot)).\nblawx_during(datetime(bot),meets_definition_s16_1(X),datetime(eot)) :- blawx_initially(meets_definition_s16_1(X)), blawx_ultimately(meets_definition_s16_1(X)), blawx_becomes(-meets_definition_s16_1(X),datetime(Start)), blawx_not_interrupted(datetime(bot),meets_definition_s16_1(X),datetime(eot)).\nblawx_during(datetime(Start),-meets_definition_s16_1(X),datetime(End)) :- blawx_becomes(-meets_definition_s16_1(X),datetime(Start)), blawx_becomes(meets_definition_s16_1(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),-meets_definition_s16_1(X),datetime(End)).\nblawx_during(datetime(bot),-meets_definition_s16_1(X),datetime(End)) :- blawx_initially(-meets_definition_s16_1(X)), blawx_becomes(meets_definition_s16_1(X),datetime(End)), blawx_not_interrupted(datetime(bot),-meets_definition_s16_1(X),datetime(End)).\nblawx_during(datetime(Start),-meets_definition_s16_1(X),datetime(eot)) :- blawx_ultimately(-meets_definition_s16_1(X)), blawx_becomes(meets_definition_s16_1(X),datetime(Start)), blawx_not_interrupted(datetime(Start),-meets_definition_s16_1(X),datetime(eot)).\nblawx_during(datetime(bot),-meets_definition_s16_1(X),datetime(eot)) :- blawx_initially(-meets_definition_s16_1(X)), blawx_ultimately(-meets_definition_s16_1(X)), blawx_becomes(-meets_definition_s16_1(X),datetime(Start)), blawx_not_interrupted(datetime(bot),-meets_definition_s16_1(X),datetime(eot)).\n\naccording_to(sec_3__subsec_1__para_b_section,triggers_subsection_3_1,Work) :- work(Work),\nmeets_definition_s16_1(Work).\n\n% BLAWX CHECK DUPLICATES\nholds(sec_3__subsec_1__para_b_section,triggers_subsection_3_1,Work) :- according_to(sec_3__subsec_1__para_b_section,triggers_subsection_3_1,Work).\n\n% BLAWX CHECK DUPLICATES\n triggers_subsection_3_1(Work) :- holds(sec_3__subsec_1__para_b_section,triggers_subsection_3_1,Work)." - model: blawx.workspace pk: 264 fields: ruledoc: 20 workspace_name: sec_3__subsec_1__para_c_section xml_content: workmeets_definition_s17booleanovworkobject's attribute name isvalueis submarine cables referred to in section 17 of the Minor Works OrderFALSEFALSEworkWorkworkis submarine cables referred to in section 17 of the Minor Works OrderWorkMWO 3.1.cworktriggers subsection 3(1) of the Minor Works OrderWork scasp_encoding: "blawx_attribute(work,meets_definition_s17,boolean).\nblawx_attribute_nlg(meets_definition_s17,not_applicable,\"work\",not_applicable,\"is submarine cables referred to in section 17 of the Minor Works Order\").\n:- dynamic meets_definition_s17/1.\n#pred meets_definition_s17(X) :: 'work @(X) is submarine cables referred to in section 17 of the Minor Works Order'.\n#pred holds(user,meets_definition_s17,X) :: 'it is provided as a fact that work @(X) is submarine cables referred to in section 17 of the Minor Works Order'.\n#pred holds(user,-meets_definition_s17,X) :: 'it is provided as a fact that it is not the case that work @(X) is submarine cables referred to in section 17 of the Minor Works Order'.\n#pred holds(Z,meets_definition_s17,X) :: 'the conclusion in @(Z) that work @(X) is submarine cables referred to in section 17 of the Minor Works Order holds'.\n#pred holds(Z,-meets_definition_s17,X) :: 'the conclusion in @(Z) that it is not the case that work @(X) is submarine cables referred to in section 17 of the Minor Works Order holds'.\n#pred according_to(Z,meets_definition_s17,X) :: 'according to @(Z), work @(X) is submarine cables referred to in section 17 of the Minor Works Order'.\n#pred according_to(Z,-meets_definition_s17,X) :: 'according to @(Z), it is not the case that work @(X) is submarine cables referred to in section 17 of the Minor Works Order'.\n#pred blawx_defeated(Z,meets_definition_s17,X) :: 'the conclusion in @(Z) that work @(X) is submarine cables referred to in section 17 of the Minor Works Order is defeated'.\n#pred blawx_defeated(Z,-meets_definition_s17,X) :: 'the conclusion in @(Z) that work @(X) is submarine cables referred to in section 17 of the Minor Works Order is defeated'.\n#pred blawx_initially(meets_definition_s17(X)) :: 'that work @(X) is submarine cables referred to in section 17 of the Minor Works Order holds initially'.\n#pred blawx_initially(-meets_definition_s17(X)) :: 'that it is not the case that work @(X) is submarine cables referred to in section 17 of the Minor Works Order holds initially'.\n#pred blawx_ultimately(meets_definition_s17(X)) :: 'that work @(X) is submarine cables referred to in section 17 of the Minor Works Order holds ultimately'.\n#pred blawx_ultimately(-meets_definition_s17(X)) :: 'that it is not the case that work @(X) is submarine cables referred to in section 17 of the Minor Works Order holds ultimately'.\n#pred blawx_as_of(meets_definition_s17(X),T) :: 'that work @(X) is submarine cables referred to in section 17 of the Minor Works Order holds at @(T)'.\n#pred blawx_as_of(-meets_definition_s17(X),T) :: 'that it is not the case that work @(X) is submarine cables referred to in section 17 of the Minor Works Order holds at @(T)'.\n#pred blawx_during(T1,meets_definition_s17(X),T2) :: 'that work @(X) is submarine cables referred to in section 17 of the Minor Works Order held between @(T1) and @(T2)'.\n#pred blawx_during(T1,-meets_definition_s17(X),T2) :: 'that it is not the case that work @(X) is submarine cables referred to in section 17 of the Minor Works Order held between @(T1) and @(T2)'.\n#pred blawx_becomes(meets_definition_s17(X),T) :: 'that work @(X) is submarine cables referred to in section 17 of the Minor Works Order became true at @(T)'.\n#pred blawx_becomes(-meets_definition_s17(X),T) :: 'that it is not the case that work @(X) is submarine cables referred to in section 17 of the Minor Works Order became true at @(T)'.\n#pred blawx_not_interrupted(Start,meets_definition_s17(X),End) :: 'work @(X) is submarine cables referred to in section 17 of the Minor Works Order remained the case between @(Start) and @(End)'.\n#pred blawx_not_interrupted(Start,-meets_definition_s17(X),End) :: 'it is not the case that work @(X) is submarine cables referred to in section 17 of the Minor Works Order remained the case between @(Start) and @(End)'.\nblawx_not_interrupted(datetime(Start),meets_definition_s17(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(-meets_definition_s17(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(Start),-meets_definition_s17(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(meets_definition_s17(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(bot),meets_definition_s17(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(-meets_definition_s17(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(bot),-meets_definition_s17(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(meets_definition_s17(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(Start),meets_definition_s17(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(-meets_definition_s17(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(Start),-meets_definition_s17(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(meets_definition_s17(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(bot),meets_definition_s17(X),datetime(eot)) :- blawx_initially(meets_definition_s17(X)), blawx_ultimately(meets_definition_s17(X)), findall(Time,blawx_becomes(-meets_definition_s17(X),datetime(Time)),[]).\nblawx_not_interrupted(datetime(bot),-meets_definition_s17(X),datetime(eot)) :- blawx_initially(-meets_definition_s17(X)), blawx_ultimately(-meets_definition_s17(X)), findall(Time,blawx_becomes(meets_definition_s17(X),datetime(Time)),[]).\nblawx_as_of(meets_definition_s17(X),datetime(Time)) :- blawx_initially(meets_definition_s17(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),meets_definition_s17(X),datetime(BeforeT)).\nblawx_as_of(meets_definition_s17(X),datetime(Time)) :- blawx_becomes(meets_definition_s17(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),meets_definition_s17(X),datetime(Time)).\nblawx_as_of(-meets_definition_s17(X),datetime(Time)) :- blawx_initially(-meets_definition_s17(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),-meets_definition_s17(X),datetime(BeforeT)).\nblawx_as_of(-meets_definition_s17(X),datetime(Time)) :- blawx_becomes(-meets_definition_s17(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),-meets_definition_s17(X),datetime(Time)).\nblawx_during(datetime(Start),meets_definition_s17(X),datetime(End)) :- blawx_becomes(meets_definition_s17(X),datetime(Start)), blawx_becomes(-meets_definition_s17(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),meets_definition_s17(X),datetime(End)).\nblawx_during(datetime(bot),meets_definition_s17(X),datetime(End)) :- blawx_initially(meets_definition_s17(X)), blawx_becomes(-meets_definition_s17(X),datetime(End)), blawx_not_interrupted(datetime(bot),meets_definition_s17(X),datetime(End)).\nblawx_during(datetime(Start),meets_definition_s17(X),datetime(eot)) :- blawx_ultimately(meets_definition_s17(X)), blawx_becomes(-meets_definition_s17(X),datetime(Start)), blawx_not_interrupted(datetime(Start),meets_definition_s17(X),datetime(eot)).\nblawx_during(datetime(bot),meets_definition_s17(X),datetime(eot)) :- blawx_initially(meets_definition_s17(X)), blawx_ultimately(meets_definition_s17(X)), blawx_becomes(-meets_definition_s17(X),datetime(Start)), blawx_not_interrupted(datetime(bot),meets_definition_s17(X),datetime(eot)).\nblawx_during(datetime(Start),-meets_definition_s17(X),datetime(End)) :- blawx_becomes(-meets_definition_s17(X),datetime(Start)), blawx_becomes(meets_definition_s17(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),-meets_definition_s17(X),datetime(End)).\nblawx_during(datetime(bot),-meets_definition_s17(X),datetime(End)) :- blawx_initially(-meets_definition_s17(X)), blawx_becomes(meets_definition_s17(X),datetime(End)), blawx_not_interrupted(datetime(bot),-meets_definition_s17(X),datetime(End)).\nblawx_during(datetime(Start),-meets_definition_s17(X),datetime(eot)) :- blawx_ultimately(-meets_definition_s17(X)), blawx_becomes(meets_definition_s17(X),datetime(Start)), blawx_not_interrupted(datetime(Start),-meets_definition_s17(X),datetime(eot)).\nblawx_during(datetime(bot),-meets_definition_s17(X),datetime(eot)) :- blawx_initially(-meets_definition_s17(X)), blawx_ultimately(-meets_definition_s17(X)), blawx_becomes(-meets_definition_s17(X),datetime(Start)), blawx_not_interrupted(datetime(bot),-meets_definition_s17(X),datetime(eot)).\n\naccording_to(sec_3__subsec_1__para_c_section,triggers_subsection_3_1,Work) :- work(Work),\nmeets_definition_s17(Work).\n\n% BLAWX CHECK DUPLICATES\nholds(sec_3__subsec_1__para_c_section,triggers_subsection_3_1,Work) :- according_to(sec_3__subsec_1__para_c_section,triggers_subsection_3_1,Work).\n\n% BLAWX CHECK DUPLICATES\n triggers_subsection_3_1(Work) :- holds(sec_3__subsec_1__para_c_section,triggers_subsection_3_1,Work)." - model: blawx.workspace pk: 265 fields: ruledoc: 20 workspace_name: sec_3__subsec_1__para_d_section xml_content: workmeets_definition_s19booleanovworkobject's attribute name isvalueis buried pipelines referred to in section 19 of the Minor Works OrderFALSEFALSEworkWorkworkis buried pipelines referred to in section 19 of the Minor Works OrderWorkMWO 3.1.dworktriggers subsection 3(1) of the Minor Works OrderWork scasp_encoding: "blawx_attribute(work,meets_definition_s19,boolean).\nblawx_attribute_nlg(meets_definition_s19,not_applicable,\"work\",not_applicable,\"is buried pipelines referred to in section 19 of the Minor Works Order\").\n:- dynamic meets_definition_s19/1.\n#pred meets_definition_s19(X) :: 'work @(X) is buried pipelines referred to in section 19 of the Minor Works Order'.\n#pred holds(user,meets_definition_s19,X) :: 'it is provided as a fact that work @(X) is buried pipelines referred to in section 19 of the Minor Works Order'.\n#pred holds(user,-meets_definition_s19,X) :: 'it is provided as a fact that it is not the case that work @(X) is buried pipelines referred to in section 19 of the Minor Works Order'.\n#pred holds(Z,meets_definition_s19,X) :: 'the conclusion in @(Z) that work @(X) is buried pipelines referred to in section 19 of the Minor Works Order holds'.\n#pred holds(Z,-meets_definition_s19,X) :: 'the conclusion in @(Z) that it is not the case that work @(X) is buried pipelines referred to in section 19 of the Minor Works Order holds'.\n#pred according_to(Z,meets_definition_s19,X) :: 'according to @(Z), work @(X) is buried pipelines referred to in section 19 of the Minor Works Order'.\n#pred according_to(Z,-meets_definition_s19,X) :: 'according to @(Z), it is not the case that work @(X) is buried pipelines referred to in section 19 of the Minor Works Order'.\n#pred blawx_defeated(Z,meets_definition_s19,X) :: 'the conclusion in @(Z) that work @(X) is buried pipelines referred to in section 19 of the Minor Works Order is defeated'.\n#pred blawx_defeated(Z,-meets_definition_s19,X) :: 'the conclusion in @(Z) that work @(X) is buried pipelines referred to in section 19 of the Minor Works Order is defeated'.\n#pred blawx_initially(meets_definition_s19(X)) :: 'that work @(X) is buried pipelines referred to in section 19 of the Minor Works Order holds initially'.\n#pred blawx_initially(-meets_definition_s19(X)) :: 'that it is not the case that work @(X) is buried pipelines referred to in section 19 of the Minor Works Order holds initially'.\n#pred blawx_ultimately(meets_definition_s19(X)) :: 'that work @(X) is buried pipelines referred to in section 19 of the Minor Works Order holds ultimately'.\n#pred blawx_ultimately(-meets_definition_s19(X)) :: 'that it is not the case that work @(X) is buried pipelines referred to in section 19 of the Minor Works Order holds ultimately'.\n#pred blawx_as_of(meets_definition_s19(X),T) :: 'that work @(X) is buried pipelines referred to in section 19 of the Minor Works Order holds at @(T)'.\n#pred blawx_as_of(-meets_definition_s19(X),T) :: 'that it is not the case that work @(X) is buried pipelines referred to in section 19 of the Minor Works Order holds at @(T)'.\n#pred blawx_during(T1,meets_definition_s19(X),T2) :: 'that work @(X) is buried pipelines referred to in section 19 of the Minor Works Order held between @(T1) and @(T2)'.\n#pred blawx_during(T1,-meets_definition_s19(X),T2) :: 'that it is not the case that work @(X) is buried pipelines referred to in section 19 of the Minor Works Order held between @(T1) and @(T2)'.\n#pred blawx_becomes(meets_definition_s19(X),T) :: 'that work @(X) is buried pipelines referred to in section 19 of the Minor Works Order became true at @(T)'.\n#pred blawx_becomes(-meets_definition_s19(X),T) :: 'that it is not the case that work @(X) is buried pipelines referred to in section 19 of the Minor Works Order became true at @(T)'.\n#pred blawx_not_interrupted(Start,meets_definition_s19(X),End) :: 'work @(X) is buried pipelines referred to in section 19 of the Minor Works Order remained the case between @(Start) and @(End)'.\n#pred blawx_not_interrupted(Start,-meets_definition_s19(X),End) :: 'it is not the case that work @(X) is buried pipelines referred to in section 19 of the Minor Works Order remained the case between @(Start) and @(End)'.\nblawx_not_interrupted(datetime(Start),meets_definition_s19(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(-meets_definition_s19(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(Start),-meets_definition_s19(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(meets_definition_s19(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(bot),meets_definition_s19(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(-meets_definition_s19(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(bot),-meets_definition_s19(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(meets_definition_s19(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(Start),meets_definition_s19(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(-meets_definition_s19(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(Start),-meets_definition_s19(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(meets_definition_s19(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(bot),meets_definition_s19(X),datetime(eot)) :- blawx_initially(meets_definition_s19(X)), blawx_ultimately(meets_definition_s19(X)), findall(Time,blawx_becomes(-meets_definition_s19(X),datetime(Time)),[]).\nblawx_not_interrupted(datetime(bot),-meets_definition_s19(X),datetime(eot)) :- blawx_initially(-meets_definition_s19(X)), blawx_ultimately(-meets_definition_s19(X)), findall(Time,blawx_becomes(meets_definition_s19(X),datetime(Time)),[]).\nblawx_as_of(meets_definition_s19(X),datetime(Time)) :- blawx_initially(meets_definition_s19(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),meets_definition_s19(X),datetime(BeforeT)).\nblawx_as_of(meets_definition_s19(X),datetime(Time)) :- blawx_becomes(meets_definition_s19(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),meets_definition_s19(X),datetime(Time)).\nblawx_as_of(-meets_definition_s19(X),datetime(Time)) :- blawx_initially(-meets_definition_s19(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),-meets_definition_s19(X),datetime(BeforeT)).\nblawx_as_of(-meets_definition_s19(X),datetime(Time)) :- blawx_becomes(-meets_definition_s19(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),-meets_definition_s19(X),datetime(Time)).\nblawx_during(datetime(Start),meets_definition_s19(X),datetime(End)) :- blawx_becomes(meets_definition_s19(X),datetime(Start)), blawx_becomes(-meets_definition_s19(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),meets_definition_s19(X),datetime(End)).\nblawx_during(datetime(bot),meets_definition_s19(X),datetime(End)) :- blawx_initially(meets_definition_s19(X)), blawx_becomes(-meets_definition_s19(X),datetime(End)), blawx_not_interrupted(datetime(bot),meets_definition_s19(X),datetime(End)).\nblawx_during(datetime(Start),meets_definition_s19(X),datetime(eot)) :- blawx_ultimately(meets_definition_s19(X)), blawx_becomes(-meets_definition_s19(X),datetime(Start)), blawx_not_interrupted(datetime(Start),meets_definition_s19(X),datetime(eot)).\nblawx_during(datetime(bot),meets_definition_s19(X),datetime(eot)) :- blawx_initially(meets_definition_s19(X)), blawx_ultimately(meets_definition_s19(X)), blawx_becomes(-meets_definition_s19(X),datetime(Start)), blawx_not_interrupted(datetime(bot),meets_definition_s19(X),datetime(eot)).\nblawx_during(datetime(Start),-meets_definition_s19(X),datetime(End)) :- blawx_becomes(-meets_definition_s19(X),datetime(Start)), blawx_becomes(meets_definition_s19(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),-meets_definition_s19(X),datetime(End)).\nblawx_during(datetime(bot),-meets_definition_s19(X),datetime(End)) :- blawx_initially(-meets_definition_s19(X)), blawx_becomes(meets_definition_s19(X),datetime(End)), blawx_not_interrupted(datetime(bot),-meets_definition_s19(X),datetime(End)).\nblawx_during(datetime(Start),-meets_definition_s19(X),datetime(eot)) :- blawx_ultimately(-meets_definition_s19(X)), blawx_becomes(meets_definition_s19(X),datetime(Start)), blawx_not_interrupted(datetime(Start),-meets_definition_s19(X),datetime(eot)).\nblawx_during(datetime(bot),-meets_definition_s19(X),datetime(eot)) :- blawx_initially(-meets_definition_s19(X)), blawx_ultimately(-meets_definition_s19(X)), blawx_becomes(-meets_definition_s19(X),datetime(Start)), blawx_not_interrupted(datetime(bot),-meets_definition_s19(X),datetime(eot)).\n\naccording_to(sec_3__subsec_1__para_d_section,triggers_subsection_3_1,Work) :- work(Work),\nmeets_definition_s19(Work).\n\n% BLAWX CHECK DUPLICATES\nholds(sec_3__subsec_1__para_d_section,triggers_subsection_3_1,Work) :- according_to(sec_3__subsec_1__para_d_section,triggers_subsection_3_1,Work).\n\n% BLAWX CHECK DUPLICATES\n triggers_subsection_3_1(Work) :- holds(sec_3__subsec_1__para_d_section,triggers_subsection_3_1,Work)." - model: blawx.workspace pk: 266 fields: ruledoc: 20 workspace_name: sec_3__subsec_1__para_e_section xml_content: workmeets_definition_s26booleanovworkobject's attribute name isvalueis outfalls and water intakes referred to in section 26 of the Minor Works OrderFALSEFALSEworkWorkworkis outfalls and water intakes referred to in section 26 of the Minor Works OrderWorkMWO 3.1.eworktriggers subsection 3(1) of the Minor Works OrderWork scasp_encoding: "blawx_attribute(work,meets_definition_s26,boolean).\nblawx_attribute_nlg(meets_definition_s26,not_applicable,\"work\",not_applicable,\"is outfalls and water intakes referred to in section 26 of the Minor Works Order\").\n:- dynamic meets_definition_s26/1.\n#pred meets_definition_s26(X) :: 'work @(X) is outfalls and water intakes referred to in section 26 of the Minor Works Order'.\n#pred holds(user,meets_definition_s26,X) :: 'it is provided as a fact that work @(X) is outfalls and water intakes referred to in section 26 of the Minor Works Order'.\n#pred holds(user,-meets_definition_s26,X) :: 'it is provided as a fact that it is not the case that work @(X) is outfalls and water intakes referred to in section 26 of the Minor Works Order'.\n#pred holds(Z,meets_definition_s26,X) :: 'the conclusion in @(Z) that work @(X) is outfalls and water intakes referred to in section 26 of the Minor Works Order holds'.\n#pred holds(Z,-meets_definition_s26,X) :: 'the conclusion in @(Z) that it is not the case that work @(X) is outfalls and water intakes referred to in section 26 of the Minor Works Order holds'.\n#pred according_to(Z,meets_definition_s26,X) :: 'according to @(Z), work @(X) is outfalls and water intakes referred to in section 26 of the Minor Works Order'.\n#pred according_to(Z,-meets_definition_s26,X) :: 'according to @(Z), it is not the case that work @(X) is outfalls and water intakes referred to in section 26 of the Minor Works Order'.\n#pred blawx_defeated(Z,meets_definition_s26,X) :: 'the conclusion in @(Z) that work @(X) is outfalls and water intakes referred to in section 26 of the Minor Works Order is defeated'.\n#pred blawx_defeated(Z,-meets_definition_s26,X) :: 'the conclusion in @(Z) that work @(X) is outfalls and water intakes referred to in section 26 of the Minor Works Order is defeated'.\n#pred blawx_initially(meets_definition_s26(X)) :: 'that work @(X) is outfalls and water intakes referred to in section 26 of the Minor Works Order holds initially'.\n#pred blawx_initially(-meets_definition_s26(X)) :: 'that it is not the case that work @(X) is outfalls and water intakes referred to in section 26 of the Minor Works Order holds initially'.\n#pred blawx_ultimately(meets_definition_s26(X)) :: 'that work @(X) is outfalls and water intakes referred to in section 26 of the Minor Works Order holds ultimately'.\n#pred blawx_ultimately(-meets_definition_s26(X)) :: 'that it is not the case that work @(X) is outfalls and water intakes referred to in section 26 of the Minor Works Order holds ultimately'.\n#pred blawx_as_of(meets_definition_s26(X),T) :: 'that work @(X) is outfalls and water intakes referred to in section 26 of the Minor Works Order holds at @(T)'.\n#pred blawx_as_of(-meets_definition_s26(X),T) :: 'that it is not the case that work @(X) is outfalls and water intakes referred to in section 26 of the Minor Works Order holds at @(T)'.\n#pred blawx_during(T1,meets_definition_s26(X),T2) :: 'that work @(X) is outfalls and water intakes referred to in section 26 of the Minor Works Order held between @(T1) and @(T2)'.\n#pred blawx_during(T1,-meets_definition_s26(X),T2) :: 'that it is not the case that work @(X) is outfalls and water intakes referred to in section 26 of the Minor Works Order held between @(T1) and @(T2)'.\n#pred blawx_becomes(meets_definition_s26(X),T) :: 'that work @(X) is outfalls and water intakes referred to in section 26 of the Minor Works Order became true at @(T)'.\n#pred blawx_becomes(-meets_definition_s26(X),T) :: 'that it is not the case that work @(X) is outfalls and water intakes referred to in section 26 of the Minor Works Order became true at @(T)'.\n#pred blawx_not_interrupted(Start,meets_definition_s26(X),End) :: 'work @(X) is outfalls and water intakes referred to in section 26 of the Minor Works Order remained the case between @(Start) and @(End)'.\n#pred blawx_not_interrupted(Start,-meets_definition_s26(X),End) :: 'it is not the case that work @(X) is outfalls and water intakes referred to in section 26 of the Minor Works Order remained the case between @(Start) and @(End)'.\nblawx_not_interrupted(datetime(Start),meets_definition_s26(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(-meets_definition_s26(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(Start),-meets_definition_s26(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(meets_definition_s26(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(bot),meets_definition_s26(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(-meets_definition_s26(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(bot),-meets_definition_s26(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(meets_definition_s26(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(Start),meets_definition_s26(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(-meets_definition_s26(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(Start),-meets_definition_s26(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(meets_definition_s26(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(bot),meets_definition_s26(X),datetime(eot)) :- blawx_initially(meets_definition_s26(X)), blawx_ultimately(meets_definition_s26(X)), findall(Time,blawx_becomes(-meets_definition_s26(X),datetime(Time)),[]).\nblawx_not_interrupted(datetime(bot),-meets_definition_s26(X),datetime(eot)) :- blawx_initially(-meets_definition_s26(X)), blawx_ultimately(-meets_definition_s26(X)), findall(Time,blawx_becomes(meets_definition_s26(X),datetime(Time)),[]).\nblawx_as_of(meets_definition_s26(X),datetime(Time)) :- blawx_initially(meets_definition_s26(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),meets_definition_s26(X),datetime(BeforeT)).\nblawx_as_of(meets_definition_s26(X),datetime(Time)) :- blawx_becomes(meets_definition_s26(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),meets_definition_s26(X),datetime(Time)).\nblawx_as_of(-meets_definition_s26(X),datetime(Time)) :- blawx_initially(-meets_definition_s26(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),-meets_definition_s26(X),datetime(BeforeT)).\nblawx_as_of(-meets_definition_s26(X),datetime(Time)) :- blawx_becomes(-meets_definition_s26(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),-meets_definition_s26(X),datetime(Time)).\nblawx_during(datetime(Start),meets_definition_s26(X),datetime(End)) :- blawx_becomes(meets_definition_s26(X),datetime(Start)), blawx_becomes(-meets_definition_s26(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),meets_definition_s26(X),datetime(End)).\nblawx_during(datetime(bot),meets_definition_s26(X),datetime(End)) :- blawx_initially(meets_definition_s26(X)), blawx_becomes(-meets_definition_s26(X),datetime(End)), blawx_not_interrupted(datetime(bot),meets_definition_s26(X),datetime(End)).\nblawx_during(datetime(Start),meets_definition_s26(X),datetime(eot)) :- blawx_ultimately(meets_definition_s26(X)), blawx_becomes(-meets_definition_s26(X),datetime(Start)), blawx_not_interrupted(datetime(Start),meets_definition_s26(X),datetime(eot)).\nblawx_during(datetime(bot),meets_definition_s26(X),datetime(eot)) :- blawx_initially(meets_definition_s26(X)), blawx_ultimately(meets_definition_s26(X)), blawx_becomes(-meets_definition_s26(X),datetime(Start)), blawx_not_interrupted(datetime(bot),meets_definition_s26(X),datetime(eot)).\nblawx_during(datetime(Start),-meets_definition_s26(X),datetime(End)) :- blawx_becomes(-meets_definition_s26(X),datetime(Start)), blawx_becomes(meets_definition_s26(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),-meets_definition_s26(X),datetime(End)).\nblawx_during(datetime(bot),-meets_definition_s26(X),datetime(End)) :- blawx_initially(-meets_definition_s26(X)), blawx_becomes(meets_definition_s26(X),datetime(End)), blawx_not_interrupted(datetime(bot),-meets_definition_s26(X),datetime(End)).\nblawx_during(datetime(Start),-meets_definition_s26(X),datetime(eot)) :- blawx_ultimately(-meets_definition_s26(X)), blawx_becomes(meets_definition_s26(X),datetime(Start)), blawx_not_interrupted(datetime(Start),-meets_definition_s26(X),datetime(eot)).\nblawx_during(datetime(bot),-meets_definition_s26(X),datetime(eot)) :- blawx_initially(-meets_definition_s26(X)), blawx_ultimately(-meets_definition_s26(X)), blawx_becomes(-meets_definition_s26(X),datetime(Start)), blawx_not_interrupted(datetime(bot),-meets_definition_s26(X),datetime(eot)).\n\naccording_to(sec_3__subsec_1__para_e_section,triggers_subsection_3_1,Work) :- work(Work),\nmeets_definition_s26(Work).\n\n% BLAWX CHECK DUPLICATES\nholds(sec_3__subsec_1__para_e_section,triggers_subsection_3_1,Work) :- according_to(sec_3__subsec_1__para_e_section,triggers_subsection_3_1,Work).\n\n% BLAWX CHECK DUPLICATES\n triggers_subsection_3_1(Work) :- holds(sec_3__subsec_1__para_e_section,triggers_subsection_3_1,Work)." - model: blawx.workspace pk: 267 fields: ruledoc: 20 workspace_name: sec_3__subsec_1__para_f_section xml_content: workmeets_definition_s28booleanovworkobject's attribute name isvalueis dredging referred to in section 28 of the Minor Works OrderFALSEFALSEworkWorkworkis dredging referred to in section 28 of the Minor Works OrderWorkMWO 3.1.fworktriggers subsection 3(1) of the Minor Works OrderWork scasp_encoding: "blawx_attribute(work,meets_definition_s28,boolean).\nblawx_attribute_nlg(meets_definition_s28,not_applicable,\"work\",not_applicable,\"is dredging referred to in section 28 of the Minor Works Order\").\n:- dynamic meets_definition_s28/1.\n#pred meets_definition_s28(X) :: 'work @(X) is dredging referred to in section 28 of the Minor Works Order'.\n#pred holds(user,meets_definition_s28,X) :: 'it is provided as a fact that work @(X) is dredging referred to in section 28 of the Minor Works Order'.\n#pred holds(user,-meets_definition_s28,X) :: 'it is provided as a fact that it is not the case that work @(X) is dredging referred to in section 28 of the Minor Works Order'.\n#pred holds(Z,meets_definition_s28,X) :: 'the conclusion in @(Z) that work @(X) is dredging referred to in section 28 of the Minor Works Order holds'.\n#pred holds(Z,-meets_definition_s28,X) :: 'the conclusion in @(Z) that it is not the case that work @(X) is dredging referred to in section 28 of the Minor Works Order holds'.\n#pred according_to(Z,meets_definition_s28,X) :: 'according to @(Z), work @(X) is dredging referred to in section 28 of the Minor Works Order'.\n#pred according_to(Z,-meets_definition_s28,X) :: 'according to @(Z), it is not the case that work @(X) is dredging referred to in section 28 of the Minor Works Order'.\n#pred blawx_defeated(Z,meets_definition_s28,X) :: 'the conclusion in @(Z) that work @(X) is dredging referred to in section 28 of the Minor Works Order is defeated'.\n#pred blawx_defeated(Z,-meets_definition_s28,X) :: 'the conclusion in @(Z) that work @(X) is dredging referred to in section 28 of the Minor Works Order is defeated'.\n#pred blawx_initially(meets_definition_s28(X)) :: 'that work @(X) is dredging referred to in section 28 of the Minor Works Order holds initially'.\n#pred blawx_initially(-meets_definition_s28(X)) :: 'that it is not the case that work @(X) is dredging referred to in section 28 of the Minor Works Order holds initially'.\n#pred blawx_ultimately(meets_definition_s28(X)) :: 'that work @(X) is dredging referred to in section 28 of the Minor Works Order holds ultimately'.\n#pred blawx_ultimately(-meets_definition_s28(X)) :: 'that it is not the case that work @(X) is dredging referred to in section 28 of the Minor Works Order holds ultimately'.\n#pred blawx_as_of(meets_definition_s28(X),T) :: 'that work @(X) is dredging referred to in section 28 of the Minor Works Order holds at @(T)'.\n#pred blawx_as_of(-meets_definition_s28(X),T) :: 'that it is not the case that work @(X) is dredging referred to in section 28 of the Minor Works Order holds at @(T)'.\n#pred blawx_during(T1,meets_definition_s28(X),T2) :: 'that work @(X) is dredging referred to in section 28 of the Minor Works Order held between @(T1) and @(T2)'.\n#pred blawx_during(T1,-meets_definition_s28(X),T2) :: 'that it is not the case that work @(X) is dredging referred to in section 28 of the Minor Works Order held between @(T1) and @(T2)'.\n#pred blawx_becomes(meets_definition_s28(X),T) :: 'that work @(X) is dredging referred to in section 28 of the Minor Works Order became true at @(T)'.\n#pred blawx_becomes(-meets_definition_s28(X),T) :: 'that it is not the case that work @(X) is dredging referred to in section 28 of the Minor Works Order became true at @(T)'.\n#pred blawx_not_interrupted(Start,meets_definition_s28(X),End) :: 'work @(X) is dredging referred to in section 28 of the Minor Works Order remained the case between @(Start) and @(End)'.\n#pred blawx_not_interrupted(Start,-meets_definition_s28(X),End) :: 'it is not the case that work @(X) is dredging referred to in section 28 of the Minor Works Order remained the case between @(Start) and @(End)'.\nblawx_not_interrupted(datetime(Start),meets_definition_s28(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(-meets_definition_s28(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(Start),-meets_definition_s28(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(meets_definition_s28(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(bot),meets_definition_s28(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(-meets_definition_s28(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(bot),-meets_definition_s28(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(meets_definition_s28(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(Start),meets_definition_s28(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(-meets_definition_s28(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(Start),-meets_definition_s28(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(meets_definition_s28(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(bot),meets_definition_s28(X),datetime(eot)) :- blawx_initially(meets_definition_s28(X)), blawx_ultimately(meets_definition_s28(X)), findall(Time,blawx_becomes(-meets_definition_s28(X),datetime(Time)),[]).\nblawx_not_interrupted(datetime(bot),-meets_definition_s28(X),datetime(eot)) :- blawx_initially(-meets_definition_s28(X)), blawx_ultimately(-meets_definition_s28(X)), findall(Time,blawx_becomes(meets_definition_s28(X),datetime(Time)),[]).\nblawx_as_of(meets_definition_s28(X),datetime(Time)) :- blawx_initially(meets_definition_s28(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),meets_definition_s28(X),datetime(BeforeT)).\nblawx_as_of(meets_definition_s28(X),datetime(Time)) :- blawx_becomes(meets_definition_s28(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),meets_definition_s28(X),datetime(Time)).\nblawx_as_of(-meets_definition_s28(X),datetime(Time)) :- blawx_initially(-meets_definition_s28(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),-meets_definition_s28(X),datetime(BeforeT)).\nblawx_as_of(-meets_definition_s28(X),datetime(Time)) :- blawx_becomes(-meets_definition_s28(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),-meets_definition_s28(X),datetime(Time)).\nblawx_during(datetime(Start),meets_definition_s28(X),datetime(End)) :- blawx_becomes(meets_definition_s28(X),datetime(Start)), blawx_becomes(-meets_definition_s28(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),meets_definition_s28(X),datetime(End)).\nblawx_during(datetime(bot),meets_definition_s28(X),datetime(End)) :- blawx_initially(meets_definition_s28(X)), blawx_becomes(-meets_definition_s28(X),datetime(End)), blawx_not_interrupted(datetime(bot),meets_definition_s28(X),datetime(End)).\nblawx_during(datetime(Start),meets_definition_s28(X),datetime(eot)) :- blawx_ultimately(meets_definition_s28(X)), blawx_becomes(-meets_definition_s28(X),datetime(Start)), blawx_not_interrupted(datetime(Start),meets_definition_s28(X),datetime(eot)).\nblawx_during(datetime(bot),meets_definition_s28(X),datetime(eot)) :- blawx_initially(meets_definition_s28(X)), blawx_ultimately(meets_definition_s28(X)), blawx_becomes(-meets_definition_s28(X),datetime(Start)), blawx_not_interrupted(datetime(bot),meets_definition_s28(X),datetime(eot)).\nblawx_during(datetime(Start),-meets_definition_s28(X),datetime(End)) :- blawx_becomes(-meets_definition_s28(X),datetime(Start)), blawx_becomes(meets_definition_s28(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),-meets_definition_s28(X),datetime(End)).\nblawx_during(datetime(bot),-meets_definition_s28(X),datetime(End)) :- blawx_initially(-meets_definition_s28(X)), blawx_becomes(meets_definition_s28(X),datetime(End)), blawx_not_interrupted(datetime(bot),-meets_definition_s28(X),datetime(End)).\nblawx_during(datetime(Start),-meets_definition_s28(X),datetime(eot)) :- blawx_ultimately(-meets_definition_s28(X)), blawx_becomes(meets_definition_s28(X),datetime(Start)), blawx_not_interrupted(datetime(Start),-meets_definition_s28(X),datetime(eot)).\nblawx_during(datetime(bot),-meets_definition_s28(X),datetime(eot)) :- blawx_initially(-meets_definition_s28(X)), blawx_ultimately(-meets_definition_s28(X)), blawx_becomes(-meets_definition_s28(X),datetime(Start)), blawx_not_interrupted(datetime(bot),-meets_definition_s28(X),datetime(eot)).\n\naccording_to(sec_3__subsec_1__para_f_section,triggers_subsection_3_1,Work) :- work(Work),\nmeets_definition_s28(Work).\n\n% BLAWX CHECK DUPLICATES\nholds(sec_3__subsec_1__para_f_section,triggers_subsection_3_1,Work) :- according_to(sec_3__subsec_1__para_f_section,triggers_subsection_3_1,Work).\n\n% BLAWX CHECK DUPLICATES\n triggers_subsection_3_1(Work) :- holds(sec_3__subsec_1__para_f_section,triggers_subsection_3_1,Work)." - model: blawx.workspace pk: 268 fields: ruledoc: 20 workspace_name: sec_3__subsec_1__para_g_section xml_content: workmeets_definition_s34booleanovworkobject's attribute name isvalueis watercourse crossings referred to in section 34 of the Minor Works OrderFALSEFALSEworkWorkworkis watercourse crossings referred to in section 34 of the Minor Works OrderWorkMWO 3.1.gworktriggers subsection 3(1) of the Minor Works OrderWork scasp_encoding: "blawx_attribute(work,meets_definition_s34,boolean).\nblawx_attribute_nlg(meets_definition_s34,not_applicable,\"work\",not_applicable,\"is watercourse crossings referred to in section 34 of the Minor Works Order\").\n:- dynamic meets_definition_s34/1.\n#pred meets_definition_s34(X) :: 'work @(X) is watercourse crossings referred to in section 34 of the Minor Works Order'.\n#pred holds(user,meets_definition_s34,X) :: 'it is provided as a fact that work @(X) is watercourse crossings referred to in section 34 of the Minor Works Order'.\n#pred holds(user,-meets_definition_s34,X) :: 'it is provided as a fact that it is not the case that work @(X) is watercourse crossings referred to in section 34 of the Minor Works Order'.\n#pred holds(Z,meets_definition_s34,X) :: 'the conclusion in @(Z) that work @(X) is watercourse crossings referred to in section 34 of the Minor Works Order holds'.\n#pred holds(Z,-meets_definition_s34,X) :: 'the conclusion in @(Z) that it is not the case that work @(X) is watercourse crossings referred to in section 34 of the Minor Works Order holds'.\n#pred according_to(Z,meets_definition_s34,X) :: 'according to @(Z), work @(X) is watercourse crossings referred to in section 34 of the Minor Works Order'.\n#pred according_to(Z,-meets_definition_s34,X) :: 'according to @(Z), it is not the case that work @(X) is watercourse crossings referred to in section 34 of the Minor Works Order'.\n#pred blawx_defeated(Z,meets_definition_s34,X) :: 'the conclusion in @(Z) that work @(X) is watercourse crossings referred to in section 34 of the Minor Works Order is defeated'.\n#pred blawx_defeated(Z,-meets_definition_s34,X) :: 'the conclusion in @(Z) that work @(X) is watercourse crossings referred to in section 34 of the Minor Works Order is defeated'.\n#pred blawx_initially(meets_definition_s34(X)) :: 'that work @(X) is watercourse crossings referred to in section 34 of the Minor Works Order holds initially'.\n#pred blawx_initially(-meets_definition_s34(X)) :: 'that it is not the case that work @(X) is watercourse crossings referred to in section 34 of the Minor Works Order holds initially'.\n#pred blawx_ultimately(meets_definition_s34(X)) :: 'that work @(X) is watercourse crossings referred to in section 34 of the Minor Works Order holds ultimately'.\n#pred blawx_ultimately(-meets_definition_s34(X)) :: 'that it is not the case that work @(X) is watercourse crossings referred to in section 34 of the Minor Works Order holds ultimately'.\n#pred blawx_as_of(meets_definition_s34(X),T) :: 'that work @(X) is watercourse crossings referred to in section 34 of the Minor Works Order holds at @(T)'.\n#pred blawx_as_of(-meets_definition_s34(X),T) :: 'that it is not the case that work @(X) is watercourse crossings referred to in section 34 of the Minor Works Order holds at @(T)'.\n#pred blawx_during(T1,meets_definition_s34(X),T2) :: 'that work @(X) is watercourse crossings referred to in section 34 of the Minor Works Order held between @(T1) and @(T2)'.\n#pred blawx_during(T1,-meets_definition_s34(X),T2) :: 'that it is not the case that work @(X) is watercourse crossings referred to in section 34 of the Minor Works Order held between @(T1) and @(T2)'.\n#pred blawx_becomes(meets_definition_s34(X),T) :: 'that work @(X) is watercourse crossings referred to in section 34 of the Minor Works Order became true at @(T)'.\n#pred blawx_becomes(-meets_definition_s34(X),T) :: 'that it is not the case that work @(X) is watercourse crossings referred to in section 34 of the Minor Works Order became true at @(T)'.\n#pred blawx_not_interrupted(Start,meets_definition_s34(X),End) :: 'work @(X) is watercourse crossings referred to in section 34 of the Minor Works Order remained the case between @(Start) and @(End)'.\n#pred blawx_not_interrupted(Start,-meets_definition_s34(X),End) :: 'it is not the case that work @(X) is watercourse crossings referred to in section 34 of the Minor Works Order remained the case between @(Start) and @(End)'.\nblawx_not_interrupted(datetime(Start),meets_definition_s34(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(-meets_definition_s34(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(Start),-meets_definition_s34(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(meets_definition_s34(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(bot),meets_definition_s34(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(-meets_definition_s34(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(bot),-meets_definition_s34(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(meets_definition_s34(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(Start),meets_definition_s34(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(-meets_definition_s34(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(Start),-meets_definition_s34(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(meets_definition_s34(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(bot),meets_definition_s34(X),datetime(eot)) :- blawx_initially(meets_definition_s34(X)), blawx_ultimately(meets_definition_s34(X)), findall(Time,blawx_becomes(-meets_definition_s34(X),datetime(Time)),[]).\nblawx_not_interrupted(datetime(bot),-meets_definition_s34(X),datetime(eot)) :- blawx_initially(-meets_definition_s34(X)), blawx_ultimately(-meets_definition_s34(X)), findall(Time,blawx_becomes(meets_definition_s34(X),datetime(Time)),[]).\nblawx_as_of(meets_definition_s34(X),datetime(Time)) :- blawx_initially(meets_definition_s34(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),meets_definition_s34(X),datetime(BeforeT)).\nblawx_as_of(meets_definition_s34(X),datetime(Time)) :- blawx_becomes(meets_definition_s34(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),meets_definition_s34(X),datetime(Time)).\nblawx_as_of(-meets_definition_s34(X),datetime(Time)) :- blawx_initially(-meets_definition_s34(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),-meets_definition_s34(X),datetime(BeforeT)).\nblawx_as_of(-meets_definition_s34(X),datetime(Time)) :- blawx_becomes(-meets_definition_s34(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),-meets_definition_s34(X),datetime(Time)).\nblawx_during(datetime(Start),meets_definition_s34(X),datetime(End)) :- blawx_becomes(meets_definition_s34(X),datetime(Start)), blawx_becomes(-meets_definition_s34(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),meets_definition_s34(X),datetime(End)).\nblawx_during(datetime(bot),meets_definition_s34(X),datetime(End)) :- blawx_initially(meets_definition_s34(X)), blawx_becomes(-meets_definition_s34(X),datetime(End)), blawx_not_interrupted(datetime(bot),meets_definition_s34(X),datetime(End)).\nblawx_during(datetime(Start),meets_definition_s34(X),datetime(eot)) :- blawx_ultimately(meets_definition_s34(X)), blawx_becomes(-meets_definition_s34(X),datetime(Start)), blawx_not_interrupted(datetime(Start),meets_definition_s34(X),datetime(eot)).\nblawx_during(datetime(bot),meets_definition_s34(X),datetime(eot)) :- blawx_initially(meets_definition_s34(X)), blawx_ultimately(meets_definition_s34(X)), blawx_becomes(-meets_definition_s34(X),datetime(Start)), blawx_not_interrupted(datetime(bot),meets_definition_s34(X),datetime(eot)).\nblawx_during(datetime(Start),-meets_definition_s34(X),datetime(End)) :- blawx_becomes(-meets_definition_s34(X),datetime(Start)), blawx_becomes(meets_definition_s34(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),-meets_definition_s34(X),datetime(End)).\nblawx_during(datetime(bot),-meets_definition_s34(X),datetime(End)) :- blawx_initially(-meets_definition_s34(X)), blawx_becomes(meets_definition_s34(X),datetime(End)), blawx_not_interrupted(datetime(bot),-meets_definition_s34(X),datetime(End)).\nblawx_during(datetime(Start),-meets_definition_s34(X),datetime(eot)) :- blawx_ultimately(-meets_definition_s34(X)), blawx_becomes(meets_definition_s34(X),datetime(Start)), blawx_not_interrupted(datetime(Start),-meets_definition_s34(X),datetime(eot)).\nblawx_during(datetime(bot),-meets_definition_s34(X),datetime(eot)) :- blawx_initially(-meets_definition_s34(X)), blawx_ultimately(-meets_definition_s34(X)), blawx_becomes(-meets_definition_s34(X),datetime(Start)), blawx_not_interrupted(datetime(bot),-meets_definition_s34(X),datetime(eot)).\n\naccording_to(sec_3__subsec_1__para_g_section,triggers_subsection_3_1,Work) :- work(Work),\nmeets_definition_s34(Work).\n\n% BLAWX CHECK DUPLICATES\nholds(sec_3__subsec_1__para_g_section,triggers_subsection_3_1,Work) :- according_to(sec_3__subsec_1__para_g_section,triggers_subsection_3_1,Work).\n\n% BLAWX CHECK DUPLICATES\n triggers_subsection_3_1(Work) :- holds(sec_3__subsec_1__para_g_section,triggers_subsection_3_1,Work)." - model: blawx.workspace pk: 269 fields: ruledoc: 20 workspace_name: sec_12__subsec_1_section xml_content: workerosion-protection_workbooleanovworkobject's attribute name isvalueis an erosion protection workworkmeets_respective_rule_criteriabooleanovworkobject's attribute name isvaluemeets the respective criteria for this rule sectionFALSEFALSEworkWorkworkis an erosion protection workWorkMWO 12.1.aworkmeets the respective criteria for this rule sectionWorkMWO 12.1.bworkmeets the respective criteria for this rule sectionWorkMWO 12.1.cworkmeets the respective criteria for this rule sectionWorkMWO 12.1.dworkmeets the respective criteria for this rule sectionWorkMWO 12.1.eworkmeets the respective criteria for this rule sectionWorkMWO 12.1.fworkmeets the respective criteria for this rule sectionWorkMWO 12.1workis an erosion-protection work refereed to in subsection 12(1) of the Minor Works OrderWorkFALSEFALSEworkWorkworkis an erosion protection workWorkMWO 12.1.aworkmeets the respective criteria for this rule sectionWorkMWO 12.1.bworkmeets the respective criteria for this rule sectionWorkMWO 12.1.cworkmeets the respective criteria for this rule sectionWorkMWO 12.1.dworkmeets the respective criteria for this rule sectionWorkMWO 12.1.eworkmeets the respective criteria for this rule sectionWorkMWO 12.1.fworkmeets the respective criteria for this rule sectionWorkMWO 12.1workis a minor workWork scasp_encoding: "blawx_attribute(work,erosion-protection_work,boolean).\nblawx_attribute_nlg(erosion-protection_work,not_applicable,\"work\",not_applicable,\"is an erosion protection work\").\n:- dynamic erosion-protection_work/1.\n#pred erosion-protection_work(X) :: 'work @(X) is an erosion protection work'.\n#pred holds(user,erosion-protection_work,X) :: 'it is provided as a fact that work @(X) is an erosion protection work'.\n#pred holds(user,-erosion-protection_work,X) :: 'it is provided as a fact that it is not the case that work @(X) is an erosion protection work'.\n#pred holds(Z,erosion-protection_work,X) :: 'the conclusion in @(Z) that work @(X) is an erosion protection work holds'.\n#pred holds(Z,-erosion-protection_work,X) :: 'the conclusion in @(Z) that it is not the case that work @(X) is an erosion protection work holds'.\n#pred according_to(Z,erosion-protection_work,X) :: 'according to @(Z), work @(X) is an erosion protection work'.\n#pred according_to(Z,-erosion-protection_work,X) :: 'according to @(Z), it is not the case that work @(X) is an erosion protection work'.\n#pred blawx_defeated(Z,erosion-protection_work,X) :: 'the conclusion in @(Z) that work @(X) is an erosion protection work is defeated'.\n#pred blawx_defeated(Z,-erosion-protection_work,X) :: 'the conclusion in @(Z) that work @(X) is an erosion protection work is defeated'.\n#pred blawx_initially(erosion-protection_work(X)) :: 'that work @(X) is an erosion protection work holds initially'.\n#pred blawx_initially(-erosion-protection_work(X)) :: 'that it is not the case that work @(X) is an erosion protection work holds initially'.\n#pred blawx_ultimately(erosion-protection_work(X)) :: 'that work @(X) is an erosion protection work holds ultimately'.\n#pred blawx_ultimately(-erosion-protection_work(X)) :: 'that it is not the case that work @(X) is an erosion protection work holds ultimately'.\n#pred blawx_as_of(erosion-protection_work(X),T) :: 'that work @(X) is an erosion protection work holds at @(T)'.\n#pred blawx_as_of(-erosion-protection_work(X),T) :: 'that it is not the case that work @(X) is an erosion protection work holds at @(T)'.\n#pred blawx_during(T1,erosion-protection_work(X),T2) :: 'that work @(X) is an erosion protection work held between @(T1) and @(T2)'.\n#pred blawx_during(T1,-erosion-protection_work(X),T2) :: 'that it is not the case that work @(X) is an erosion protection work held between @(T1) and @(T2)'.\n#pred blawx_becomes(erosion-protection_work(X),T) :: 'that work @(X) is an erosion protection work became true at @(T)'.\n#pred blawx_becomes(-erosion-protection_work(X),T) :: 'that it is not the case that work @(X) is an erosion protection work became true at @(T)'.\n#pred blawx_not_interrupted(Start,erosion-protection_work(X),End) :: 'work @(X) is an erosion protection work remained the case between @(Start) and @(End)'.\n#pred blawx_not_interrupted(Start,-erosion-protection_work(X),End) :: 'it is not the case that work @(X) is an erosion protection work remained the case between @(Start) and @(End)'.\nblawx_not_interrupted(datetime(Start),erosion-protection_work(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(-erosion-protection_work(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(Start),-erosion-protection_work(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(erosion-protection_work(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(bot),erosion-protection_work(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(-erosion-protection_work(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(bot),-erosion-protection_work(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(erosion-protection_work(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(Start),erosion-protection_work(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(-erosion-protection_work(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(Start),-erosion-protection_work(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(erosion-protection_work(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(bot),erosion-protection_work(X),datetime(eot)) :- blawx_initially(erosion-protection_work(X)), blawx_ultimately(erosion-protection_work(X)), findall(Time,blawx_becomes(-erosion-protection_work(X),datetime(Time)),[]).\nblawx_not_interrupted(datetime(bot),-erosion-protection_work(X),datetime(eot)) :- blawx_initially(-erosion-protection_work(X)), blawx_ultimately(-erosion-protection_work(X)), findall(Time,blawx_becomes(erosion-protection_work(X),datetime(Time)),[]).\nblawx_as_of(erosion-protection_work(X),datetime(Time)) :- blawx_initially(erosion-protection_work(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),erosion-protection_work(X),datetime(BeforeT)).\nblawx_as_of(erosion-protection_work(X),datetime(Time)) :- blawx_becomes(erosion-protection_work(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),erosion-protection_work(X),datetime(Time)).\nblawx_as_of(-erosion-protection_work(X),datetime(Time)) :- blawx_initially(-erosion-protection_work(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),-erosion-protection_work(X),datetime(BeforeT)).\nblawx_as_of(-erosion-protection_work(X),datetime(Time)) :- blawx_becomes(-erosion-protection_work(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),-erosion-protection_work(X),datetime(Time)).\nblawx_during(datetime(Start),erosion-protection_work(X),datetime(End)) :- blawx_becomes(erosion-protection_work(X),datetime(Start)), blawx_becomes(-erosion-protection_work(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),erosion-protection_work(X),datetime(End)).\nblawx_during(datetime(bot),erosion-protection_work(X),datetime(End)) :- blawx_initially(erosion-protection_work(X)), blawx_becomes(-erosion-protection_work(X),datetime(End)), blawx_not_interrupted(datetime(bot),erosion-protection_work(X),datetime(End)).\nblawx_during(datetime(Start),erosion-protection_work(X),datetime(eot)) :- blawx_ultimately(erosion-protection_work(X)), blawx_becomes(-erosion-protection_work(X),datetime(Start)), blawx_not_interrupted(datetime(Start),erosion-protection_work(X),datetime(eot)).\nblawx_during(datetime(bot),erosion-protection_work(X),datetime(eot)) :- blawx_initially(erosion-protection_work(X)), blawx_ultimately(erosion-protection_work(X)), blawx_becomes(-erosion-protection_work(X),datetime(Start)), blawx_not_interrupted(datetime(bot),erosion-protection_work(X),datetime(eot)).\nblawx_during(datetime(Start),-erosion-protection_work(X),datetime(End)) :- blawx_becomes(-erosion-protection_work(X),datetime(Start)), blawx_becomes(erosion-protection_work(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),-erosion-protection_work(X),datetime(End)).\nblawx_during(datetime(bot),-erosion-protection_work(X),datetime(End)) :- blawx_initially(-erosion-protection_work(X)), blawx_becomes(erosion-protection_work(X),datetime(End)), blawx_not_interrupted(datetime(bot),-erosion-protection_work(X),datetime(End)).\nblawx_during(datetime(Start),-erosion-protection_work(X),datetime(eot)) :- blawx_ultimately(-erosion-protection_work(X)), blawx_becomes(erosion-protection_work(X),datetime(Start)), blawx_not_interrupted(datetime(Start),-erosion-protection_work(X),datetime(eot)).\nblawx_during(datetime(bot),-erosion-protection_work(X),datetime(eot)) :- blawx_initially(-erosion-protection_work(X)), blawx_ultimately(-erosion-protection_work(X)), blawx_becomes(-erosion-protection_work(X),datetime(Start)), blawx_not_interrupted(datetime(bot),-erosion-protection_work(X),datetime(eot)).\nblawx_attribute(work,meets_respective_rule_criteria,boolean).\nblawx_attribute_nlg(meets_respective_rule_criteria,not_applicable,\"work\",not_applicable,\"meets the respective criteria for this rule section\").\n:- dynamic meets_respective_rule_criteria/1.\n#pred meets_respective_rule_criteria(X) :: 'work @(X) meets the respective criteria for this rule section'.\n#pred holds(user,meets_respective_rule_criteria,X) :: 'it is provided as a fact that work @(X) meets the respective criteria for this rule section'.\n#pred holds(user,-meets_respective_rule_criteria,X) :: 'it is provided as a fact that it is not the case that work @(X) meets the respective criteria for this rule section'.\n#pred holds(Z,meets_respective_rule_criteria,X) :: 'the conclusion in @(Z) that work @(X) meets the respective criteria for this rule section holds'.\n#pred holds(Z,-meets_respective_rule_criteria,X) :: 'the conclusion in @(Z) that it is not the case that work @(X) meets the respective criteria for this rule section holds'.\n#pred according_to(Z,meets_respective_rule_criteria,X) :: 'according to @(Z), work @(X) meets the respective criteria for this rule section'.\n#pred according_to(Z,-meets_respective_rule_criteria,X) :: 'according to @(Z), it is not the case that work @(X) meets the respective criteria for this rule section'.\n#pred blawx_defeated(Z,meets_respective_rule_criteria,X) :: 'the conclusion in @(Z) that work @(X) meets the respective criteria for this rule section is defeated'.\n#pred blawx_defeated(Z,-meets_respective_rule_criteria,X) :: 'the conclusion in @(Z) that work @(X) meets the respective criteria for this rule section is defeated'.\n#pred blawx_initially(meets_respective_rule_criteria(X)) :: 'that work @(X) meets the respective criteria for this rule section holds initially'.\n#pred blawx_initially(-meets_respective_rule_criteria(X)) :: 'that it is not the case that work @(X) meets the respective criteria for this rule section holds initially'.\n#pred blawx_ultimately(meets_respective_rule_criteria(X)) :: 'that work @(X) meets the respective criteria for this rule section holds ultimately'.\n#pred blawx_ultimately(-meets_respective_rule_criteria(X)) :: 'that it is not the case that work @(X) meets the respective criteria for this rule section holds ultimately'.\n#pred blawx_as_of(meets_respective_rule_criteria(X),T) :: 'that work @(X) meets the respective criteria for this rule section holds at @(T)'.\n#pred blawx_as_of(-meets_respective_rule_criteria(X),T) :: 'that it is not the case that work @(X) meets the respective criteria for this rule section holds at @(T)'.\n#pred blawx_during(T1,meets_respective_rule_criteria(X),T2) :: 'that work @(X) meets the respective criteria for this rule section held between @(T1) and @(T2)'.\n#pred blawx_during(T1,-meets_respective_rule_criteria(X),T2) :: 'that it is not the case that work @(X) meets the respective criteria for this rule section held between @(T1) and @(T2)'.\n#pred blawx_becomes(meets_respective_rule_criteria(X),T) :: 'that work @(X) meets the respective criteria for this rule section became true at @(T)'.\n#pred blawx_becomes(-meets_respective_rule_criteria(X),T) :: 'that it is not the case that work @(X) meets the respective criteria for this rule section became true at @(T)'.\n#pred blawx_not_interrupted(Start,meets_respective_rule_criteria(X),End) :: 'work @(X) meets the respective criteria for this rule section remained the case between @(Start) and @(End)'.\n#pred blawx_not_interrupted(Start,-meets_respective_rule_criteria(X),End) :: 'it is not the case that work @(X) meets the respective criteria for this rule section remained the case between @(Start) and @(End)'.\nblawx_not_interrupted(datetime(Start),meets_respective_rule_criteria(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(-meets_respective_rule_criteria(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(Start),-meets_respective_rule_criteria(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(meets_respective_rule_criteria(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(bot),meets_respective_rule_criteria(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(-meets_respective_rule_criteria(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(bot),-meets_respective_rule_criteria(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(meets_respective_rule_criteria(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(Start),meets_respective_rule_criteria(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(-meets_respective_rule_criteria(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(Start),-meets_respective_rule_criteria(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(meets_respective_rule_criteria(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(bot),meets_respective_rule_criteria(X),datetime(eot)) :- blawx_initially(meets_respective_rule_criteria(X)), blawx_ultimately(meets_respective_rule_criteria(X)), findall(Time,blawx_becomes(-meets_respective_rule_criteria(X),datetime(Time)),[]).\nblawx_not_interrupted(datetime(bot),-meets_respective_rule_criteria(X),datetime(eot)) :- blawx_initially(-meets_respective_rule_criteria(X)), blawx_ultimately(-meets_respective_rule_criteria(X)), findall(Time,blawx_becomes(meets_respective_rule_criteria(X),datetime(Time)),[]).\nblawx_as_of(meets_respective_rule_criteria(X),datetime(Time)) :- blawx_initially(meets_respective_rule_criteria(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),meets_respective_rule_criteria(X),datetime(BeforeT)).\nblawx_as_of(meets_respective_rule_criteria(X),datetime(Time)) :- blawx_becomes(meets_respective_rule_criteria(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),meets_respective_rule_criteria(X),datetime(Time)).\nblawx_as_of(-meets_respective_rule_criteria(X),datetime(Time)) :- blawx_initially(-meets_respective_rule_criteria(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),-meets_respective_rule_criteria(X),datetime(BeforeT)).\nblawx_as_of(-meets_respective_rule_criteria(X),datetime(Time)) :- blawx_becomes(-meets_respective_rule_criteria(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),-meets_respective_rule_criteria(X),datetime(Time)).\nblawx_during(datetime(Start),meets_respective_rule_criteria(X),datetime(End)) :- blawx_becomes(meets_respective_rule_criteria(X),datetime(Start)), blawx_becomes(-meets_respective_rule_criteria(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),meets_respective_rule_criteria(X),datetime(End)).\nblawx_during(datetime(bot),meets_respective_rule_criteria(X),datetime(End)) :- blawx_initially(meets_respective_rule_criteria(X)), blawx_becomes(-meets_respective_rule_criteria(X),datetime(End)), blawx_not_interrupted(datetime(bot),meets_respective_rule_criteria(X),datetime(End)).\nblawx_during(datetime(Start),meets_respective_rule_criteria(X),datetime(eot)) :- blawx_ultimately(meets_respective_rule_criteria(X)), blawx_becomes(-meets_respective_rule_criteria(X),datetime(Start)), blawx_not_interrupted(datetime(Start),meets_respective_rule_criteria(X),datetime(eot)).\nblawx_during(datetime(bot),meets_respective_rule_criteria(X),datetime(eot)) :- blawx_initially(meets_respective_rule_criteria(X)), blawx_ultimately(meets_respective_rule_criteria(X)), blawx_becomes(-meets_respective_rule_criteria(X),datetime(Start)), blawx_not_interrupted(datetime(bot),meets_respective_rule_criteria(X),datetime(eot)).\nblawx_during(datetime(Start),-meets_respective_rule_criteria(X),datetime(End)) :- blawx_becomes(-meets_respective_rule_criteria(X),datetime(Start)), blawx_becomes(meets_respective_rule_criteria(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),-meets_respective_rule_criteria(X),datetime(End)).\nblawx_during(datetime(bot),-meets_respective_rule_criteria(X),datetime(End)) :- blawx_initially(-meets_respective_rule_criteria(X)), blawx_becomes(meets_respective_rule_criteria(X),datetime(End)), blawx_not_interrupted(datetime(bot),-meets_respective_rule_criteria(X),datetime(End)).\nblawx_during(datetime(Start),-meets_respective_rule_criteria(X),datetime(eot)) :- blawx_ultimately(-meets_respective_rule_criteria(X)), blawx_becomes(meets_respective_rule_criteria(X),datetime(Start)), blawx_not_interrupted(datetime(Start),-meets_respective_rule_criteria(X),datetime(eot)).\nblawx_during(datetime(bot),-meets_respective_rule_criteria(X),datetime(eot)) :- blawx_initially(-meets_respective_rule_criteria(X)), blawx_ultimately(-meets_respective_rule_criteria(X)), blawx_becomes(-meets_respective_rule_criteria(X),datetime(Start)), blawx_not_interrupted(datetime(bot),-meets_respective_rule_criteria(X),datetime(eot)).\n\naccording_to(sec_12__subsec_1_section,meets_definition_s12_1,Work) :- work(Work),\nerosion-protection_work(Work),\naccording_to(sec_12__subsec_1__para_a_section,meets_respective_rule_criteria,Work),\naccording_to(sec_12__subsec_1__para_b_section,meets_respective_rule_criteria,Work),\naccording_to(sec_12__subsec_1__para_c_section,meets_respective_rule_criteria,Work),\naccording_to(sec_12__subsec_1__para_d_section,meets_respective_rule_criteria,Work),\naccording_to(sec_12__subsec_1__para_e_section,meets_respective_rule_criteria,Work),\naccording_to(sec_12__subsec_1__para_f_section,meets_respective_rule_criteria,Work).\n\n% BLAWX CHECK DUPLICATES\nholds(sec_12__subsec_1_section,meets_definition_s12_1,Work) :- according_to(sec_12__subsec_1_section,meets_definition_s12_1,Work).\n\n% BLAWX CHECK DUPLICATES\n meets_definition_s12_1(Work) :- holds(sec_12__subsec_1_section,meets_definition_s12_1,Work).\n\naccording_to(sec_12__subsec_1_section,is_a_minor_work,Work) :- work(Work),\nerosion-protection_work(Work),\naccording_to(sec_12__subsec_1__para_a_section,meets_respective_rule_criteria,Work),\naccording_to(sec_12__subsec_1__para_b_section,meets_respective_rule_criteria,Work),\naccording_to(sec_12__subsec_1__para_c_section,meets_respective_rule_criteria,Work),\naccording_to(sec_12__subsec_1__para_d_section,meets_respective_rule_criteria,Work),\naccording_to(sec_12__subsec_1__para_e_section,meets_respective_rule_criteria,Work),\naccording_to(sec_12__subsec_1__para_f_section,meets_respective_rule_criteria,Work).\n\n% BLAWX CHECK DUPLICATES\nholds(sec_12__subsec_1_section,is_a_minor_work,Work) :- according_to(sec_12__subsec_1_section,is_a_minor_work,Work).\n\n% BLAWX CHECK DUPLICATES\n is_a_minor_work(Work) :- holds(sec_12__subsec_1_section,is_a_minor_work,Work)." - model: blawx.workspace pk: 270 fields: ruledoc: 20 workspace_name: sec_12__subsec_1__para_a_section xml_content: workfollows_bank_of_nav_waterbooleanovworkobject's attribute name isvalueis integrated with and follows the bank of the navigable waterFALSEFALSEworkWorkworkis integrated with and follows the bank of the navigable waterWorkMWO 12.1.aworkmeets the respective criteria for this rule sectionWork scasp_encoding: "blawx_attribute(work,follows_bank_of_nav_water,boolean).\nblawx_attribute_nlg(follows_bank_of_nav_water,not_applicable,\"work\",not_applicable,\"is integrated with and follows the bank of the navigable water\").\n:- dynamic follows_bank_of_nav_water/1.\n#pred follows_bank_of_nav_water(X) :: 'work @(X) is integrated with and follows the bank of the navigable water'.\n#pred holds(user,follows_bank_of_nav_water,X) :: 'it is provided as a fact that work @(X) is integrated with and follows the bank of the navigable water'.\n#pred holds(user,-follows_bank_of_nav_water,X) :: 'it is provided as a fact that it is not the case that work @(X) is integrated with and follows the bank of the navigable water'.\n#pred holds(Z,follows_bank_of_nav_water,X) :: 'the conclusion in @(Z) that work @(X) is integrated with and follows the bank of the navigable water holds'.\n#pred holds(Z,-follows_bank_of_nav_water,X) :: 'the conclusion in @(Z) that it is not the case that work @(X) is integrated with and follows the bank of the navigable water holds'.\n#pred according_to(Z,follows_bank_of_nav_water,X) :: 'according to @(Z), work @(X) is integrated with and follows the bank of the navigable water'.\n#pred according_to(Z,-follows_bank_of_nav_water,X) :: 'according to @(Z), it is not the case that work @(X) is integrated with and follows the bank of the navigable water'.\n#pred blawx_defeated(Z,follows_bank_of_nav_water,X) :: 'the conclusion in @(Z) that work @(X) is integrated with and follows the bank of the navigable water is defeated'.\n#pred blawx_defeated(Z,-follows_bank_of_nav_water,X) :: 'the conclusion in @(Z) that work @(X) is integrated with and follows the bank of the navigable water is defeated'.\n#pred blawx_initially(follows_bank_of_nav_water(X)) :: 'that work @(X) is integrated with and follows the bank of the navigable water holds initially'.\n#pred blawx_initially(-follows_bank_of_nav_water(X)) :: 'that it is not the case that work @(X) is integrated with and follows the bank of the navigable water holds initially'.\n#pred blawx_ultimately(follows_bank_of_nav_water(X)) :: 'that work @(X) is integrated with and follows the bank of the navigable water holds ultimately'.\n#pred blawx_ultimately(-follows_bank_of_nav_water(X)) :: 'that it is not the case that work @(X) is integrated with and follows the bank of the navigable water holds ultimately'.\n#pred blawx_as_of(follows_bank_of_nav_water(X),T) :: 'that work @(X) is integrated with and follows the bank of the navigable water holds at @(T)'.\n#pred blawx_as_of(-follows_bank_of_nav_water(X),T) :: 'that it is not the case that work @(X) is integrated with and follows the bank of the navigable water holds at @(T)'.\n#pred blawx_during(T1,follows_bank_of_nav_water(X),T2) :: 'that work @(X) is integrated with and follows the bank of the navigable water held between @(T1) and @(T2)'.\n#pred blawx_during(T1,-follows_bank_of_nav_water(X),T2) :: 'that it is not the case that work @(X) is integrated with and follows the bank of the navigable water held between @(T1) and @(T2)'.\n#pred blawx_becomes(follows_bank_of_nav_water(X),T) :: 'that work @(X) is integrated with and follows the bank of the navigable water became true at @(T)'.\n#pred blawx_becomes(-follows_bank_of_nav_water(X),T) :: 'that it is not the case that work @(X) is integrated with and follows the bank of the navigable water became true at @(T)'.\n#pred blawx_not_interrupted(Start,follows_bank_of_nav_water(X),End) :: 'work @(X) is integrated with and follows the bank of the navigable water remained the case between @(Start) and @(End)'.\n#pred blawx_not_interrupted(Start,-follows_bank_of_nav_water(X),End) :: 'it is not the case that work @(X) is integrated with and follows the bank of the navigable water remained the case between @(Start) and @(End)'.\nblawx_not_interrupted(datetime(Start),follows_bank_of_nav_water(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(-follows_bank_of_nav_water(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(Start),-follows_bank_of_nav_water(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(follows_bank_of_nav_water(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(bot),follows_bank_of_nav_water(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(-follows_bank_of_nav_water(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(bot),-follows_bank_of_nav_water(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(follows_bank_of_nav_water(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(Start),follows_bank_of_nav_water(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(-follows_bank_of_nav_water(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(Start),-follows_bank_of_nav_water(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(follows_bank_of_nav_water(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(bot),follows_bank_of_nav_water(X),datetime(eot)) :- blawx_initially(follows_bank_of_nav_water(X)), blawx_ultimately(follows_bank_of_nav_water(X)), findall(Time,blawx_becomes(-follows_bank_of_nav_water(X),datetime(Time)),[]).\nblawx_not_interrupted(datetime(bot),-follows_bank_of_nav_water(X),datetime(eot)) :- blawx_initially(-follows_bank_of_nav_water(X)), blawx_ultimately(-follows_bank_of_nav_water(X)), findall(Time,blawx_becomes(follows_bank_of_nav_water(X),datetime(Time)),[]).\nblawx_as_of(follows_bank_of_nav_water(X),datetime(Time)) :- blawx_initially(follows_bank_of_nav_water(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),follows_bank_of_nav_water(X),datetime(BeforeT)).\nblawx_as_of(follows_bank_of_nav_water(X),datetime(Time)) :- blawx_becomes(follows_bank_of_nav_water(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),follows_bank_of_nav_water(X),datetime(Time)).\nblawx_as_of(-follows_bank_of_nav_water(X),datetime(Time)) :- blawx_initially(-follows_bank_of_nav_water(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),-follows_bank_of_nav_water(X),datetime(BeforeT)).\nblawx_as_of(-follows_bank_of_nav_water(X),datetime(Time)) :- blawx_becomes(-follows_bank_of_nav_water(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),-follows_bank_of_nav_water(X),datetime(Time)).\nblawx_during(datetime(Start),follows_bank_of_nav_water(X),datetime(End)) :- blawx_becomes(follows_bank_of_nav_water(X),datetime(Start)), blawx_becomes(-follows_bank_of_nav_water(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),follows_bank_of_nav_water(X),datetime(End)).\nblawx_during(datetime(bot),follows_bank_of_nav_water(X),datetime(End)) :- blawx_initially(follows_bank_of_nav_water(X)), blawx_becomes(-follows_bank_of_nav_water(X),datetime(End)), blawx_not_interrupted(datetime(bot),follows_bank_of_nav_water(X),datetime(End)).\nblawx_during(datetime(Start),follows_bank_of_nav_water(X),datetime(eot)) :- blawx_ultimately(follows_bank_of_nav_water(X)), blawx_becomes(-follows_bank_of_nav_water(X),datetime(Start)), blawx_not_interrupted(datetime(Start),follows_bank_of_nav_water(X),datetime(eot)).\nblawx_during(datetime(bot),follows_bank_of_nav_water(X),datetime(eot)) :- blawx_initially(follows_bank_of_nav_water(X)), blawx_ultimately(follows_bank_of_nav_water(X)), blawx_becomes(-follows_bank_of_nav_water(X),datetime(Start)), blawx_not_interrupted(datetime(bot),follows_bank_of_nav_water(X),datetime(eot)).\nblawx_during(datetime(Start),-follows_bank_of_nav_water(X),datetime(End)) :- blawx_becomes(-follows_bank_of_nav_water(X),datetime(Start)), blawx_becomes(follows_bank_of_nav_water(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),-follows_bank_of_nav_water(X),datetime(End)).\nblawx_during(datetime(bot),-follows_bank_of_nav_water(X),datetime(End)) :- blawx_initially(-follows_bank_of_nav_water(X)), blawx_becomes(follows_bank_of_nav_water(X),datetime(End)), blawx_not_interrupted(datetime(bot),-follows_bank_of_nav_water(X),datetime(End)).\nblawx_during(datetime(Start),-follows_bank_of_nav_water(X),datetime(eot)) :- blawx_ultimately(-follows_bank_of_nav_water(X)), blawx_becomes(follows_bank_of_nav_water(X),datetime(Start)), blawx_not_interrupted(datetime(Start),-follows_bank_of_nav_water(X),datetime(eot)).\nblawx_during(datetime(bot),-follows_bank_of_nav_water(X),datetime(eot)) :- blawx_initially(-follows_bank_of_nav_water(X)), blawx_ultimately(-follows_bank_of_nav_water(X)), blawx_becomes(-follows_bank_of_nav_water(X),datetime(Start)), blawx_not_interrupted(datetime(bot),-follows_bank_of_nav_water(X),datetime(eot)).\n\naccording_to(sec_12__subsec_1__para_a_section,meets_respective_rule_criteria,Work) :- work(Work),\nfollows_bank_of_nav_water(Work).\n\n% BLAWX CHECK DUPLICATES\nholds(sec_12__subsec_1__para_a_section,meets_respective_rule_criteria,Work) :- according_to(sec_12__subsec_1__para_a_section,meets_respective_rule_criteria,Work).\n\n% BLAWX CHECK DUPLICATES\n meets_respective_rule_criteria(Work) :- holds(sec_12__subsec_1__para_a_section,meets_respective_rule_criteria,Work)." - model: blawx.workspace pk: 271 fields: ruledoc: 20 workspace_name: sec_12__subsec_1__para_b_section xml_content: worksubmerged_part_longer_than_nonsubmergedbooleanovthe submerged part of workobject's attribute name isvalueextends horizontally into the navigable water further than the non-submerged partworksubmerged_part_follows_slopebooleanovthe submerged part of workobject's attribute name isvalueis integrated with and follows the slope of the bed of the navigable waterFALSEFALSEworkWorkthe submerged part of workextends horizontally into the navigable water further than the non-submerged partWorkthe submerged part of workis integrated with and follows the slope of the bed of the navigable waterWorkMWO 12.1.bworkmeets the respective criteria for this rule sectionWorkFALSEFALSEworkWorkthe submerged part of workextends horizontally into the navigable water further than the non-submerged partWorkMWO 12.1.bworkmeets the respective criteria for this rule sectionWork scasp_encoding: "blawx_attribute(work,submerged_part_longer_than_nonsubmerged,boolean).\nblawx_attribute_nlg(submerged_part_longer_than_nonsubmerged,not_applicable,\"the submerged part of work\",not_applicable,\"extends horizontally into the navigable water further than the non-submerged part\").\n:- dynamic submerged_part_longer_than_nonsubmerged/1.\n#pred submerged_part_longer_than_nonsubmerged(X) :: 'the submerged part of work @(X) extends horizontally into the navigable water further than the non-submerged part'.\n#pred holds(user,submerged_part_longer_than_nonsubmerged,X) :: 'it is provided as a fact that the submerged part of work @(X) extends horizontally into the navigable water further than the non-submerged part'.\n#pred holds(user,-submerged_part_longer_than_nonsubmerged,X) :: 'it is provided as a fact that it is not the case that the submerged part of work @(X) extends horizontally into the navigable water further than the non-submerged part'.\n#pred holds(Z,submerged_part_longer_than_nonsubmerged,X) :: 'the conclusion in @(Z) that the submerged part of work @(X) extends horizontally into the navigable water further than the non-submerged part holds'.\n#pred holds(Z,-submerged_part_longer_than_nonsubmerged,X) :: 'the conclusion in @(Z) that it is not the case that the submerged part of work @(X) extends horizontally into the navigable water further than the non-submerged part holds'.\n#pred according_to(Z,submerged_part_longer_than_nonsubmerged,X) :: 'according to @(Z), the submerged part of work @(X) extends horizontally into the navigable water further than the non-submerged part'.\n#pred according_to(Z,-submerged_part_longer_than_nonsubmerged,X) :: 'according to @(Z), it is not the case that the submerged part of work @(X) extends horizontally into the navigable water further than the non-submerged part'.\n#pred blawx_defeated(Z,submerged_part_longer_than_nonsubmerged,X) :: 'the conclusion in @(Z) that the submerged part of work @(X) extends horizontally into the navigable water further than the non-submerged part is defeated'.\n#pred blawx_defeated(Z,-submerged_part_longer_than_nonsubmerged,X) :: 'the conclusion in @(Z) that the submerged part of work @(X) extends horizontally into the navigable water further than the non-submerged part is defeated'.\n#pred blawx_initially(submerged_part_longer_than_nonsubmerged(X)) :: 'that the submerged part of work @(X) extends horizontally into the navigable water further than the non-submerged part holds initially'.\n#pred blawx_initially(-submerged_part_longer_than_nonsubmerged(X)) :: 'that it is not the case that the submerged part of work @(X) extends horizontally into the navigable water further than the non-submerged part holds initially'.\n#pred blawx_ultimately(submerged_part_longer_than_nonsubmerged(X)) :: 'that the submerged part of work @(X) extends horizontally into the navigable water further than the non-submerged part holds ultimately'.\n#pred blawx_ultimately(-submerged_part_longer_than_nonsubmerged(X)) :: 'that it is not the case that the submerged part of work @(X) extends horizontally into the navigable water further than the non-submerged part holds ultimately'.\n#pred blawx_as_of(submerged_part_longer_than_nonsubmerged(X),T) :: 'that the submerged part of work @(X) extends horizontally into the navigable water further than the non-submerged part holds at @(T)'.\n#pred blawx_as_of(-submerged_part_longer_than_nonsubmerged(X),T) :: 'that it is not the case that the submerged part of work @(X) extends horizontally into the navigable water further than the non-submerged part holds at @(T)'.\n#pred blawx_during(T1,submerged_part_longer_than_nonsubmerged(X),T2) :: 'that the submerged part of work @(X) extends horizontally into the navigable water further than the non-submerged part held between @(T1) and @(T2)'.\n#pred blawx_during(T1,-submerged_part_longer_than_nonsubmerged(X),T2) :: 'that it is not the case that the submerged part of work @(X) extends horizontally into the navigable water further than the non-submerged part held between @(T1) and @(T2)'.\n#pred blawx_becomes(submerged_part_longer_than_nonsubmerged(X),T) :: 'that the submerged part of work @(X) extends horizontally into the navigable water further than the non-submerged part became true at @(T)'.\n#pred blawx_becomes(-submerged_part_longer_than_nonsubmerged(X),T) :: 'that it is not the case that the submerged part of work @(X) extends horizontally into the navigable water further than the non-submerged part became true at @(T)'.\n#pred blawx_not_interrupted(Start,submerged_part_longer_than_nonsubmerged(X),End) :: 'the submerged part of work @(X) extends horizontally into the navigable water further than the non-submerged part remained the case between @(Start) and @(End)'.\n#pred blawx_not_interrupted(Start,-submerged_part_longer_than_nonsubmerged(X),End) :: 'it is not the case that the submerged part of work @(X) extends horizontally into the navigable water further than the non-submerged part remained the case between @(Start) and @(End)'.\nblawx_not_interrupted(datetime(Start),submerged_part_longer_than_nonsubmerged(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(-submerged_part_longer_than_nonsubmerged(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(Start),-submerged_part_longer_than_nonsubmerged(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(submerged_part_longer_than_nonsubmerged(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(bot),submerged_part_longer_than_nonsubmerged(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(-submerged_part_longer_than_nonsubmerged(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(bot),-submerged_part_longer_than_nonsubmerged(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(submerged_part_longer_than_nonsubmerged(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(Start),submerged_part_longer_than_nonsubmerged(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(-submerged_part_longer_than_nonsubmerged(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(Start),-submerged_part_longer_than_nonsubmerged(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(submerged_part_longer_than_nonsubmerged(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(bot),submerged_part_longer_than_nonsubmerged(X),datetime(eot)) :- blawx_initially(submerged_part_longer_than_nonsubmerged(X)), blawx_ultimately(submerged_part_longer_than_nonsubmerged(X)), findall(Time,blawx_becomes(-submerged_part_longer_than_nonsubmerged(X),datetime(Time)),[]).\nblawx_not_interrupted(datetime(bot),-submerged_part_longer_than_nonsubmerged(X),datetime(eot)) :- blawx_initially(-submerged_part_longer_than_nonsubmerged(X)), blawx_ultimately(-submerged_part_longer_than_nonsubmerged(X)), findall(Time,blawx_becomes(submerged_part_longer_than_nonsubmerged(X),datetime(Time)),[]).\nblawx_as_of(submerged_part_longer_than_nonsubmerged(X),datetime(Time)) :- blawx_initially(submerged_part_longer_than_nonsubmerged(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),submerged_part_longer_than_nonsubmerged(X),datetime(BeforeT)).\nblawx_as_of(submerged_part_longer_than_nonsubmerged(X),datetime(Time)) :- blawx_becomes(submerged_part_longer_than_nonsubmerged(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),submerged_part_longer_than_nonsubmerged(X),datetime(Time)).\nblawx_as_of(-submerged_part_longer_than_nonsubmerged(X),datetime(Time)) :- blawx_initially(-submerged_part_longer_than_nonsubmerged(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),-submerged_part_longer_than_nonsubmerged(X),datetime(BeforeT)).\nblawx_as_of(-submerged_part_longer_than_nonsubmerged(X),datetime(Time)) :- blawx_becomes(-submerged_part_longer_than_nonsubmerged(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),-submerged_part_longer_than_nonsubmerged(X),datetime(Time)).\nblawx_during(datetime(Start),submerged_part_longer_than_nonsubmerged(X),datetime(End)) :- blawx_becomes(submerged_part_longer_than_nonsubmerged(X),datetime(Start)), blawx_becomes(-submerged_part_longer_than_nonsubmerged(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),submerged_part_longer_than_nonsubmerged(X),datetime(End)).\nblawx_during(datetime(bot),submerged_part_longer_than_nonsubmerged(X),datetime(End)) :- blawx_initially(submerged_part_longer_than_nonsubmerged(X)), blawx_becomes(-submerged_part_longer_than_nonsubmerged(X),datetime(End)), blawx_not_interrupted(datetime(bot),submerged_part_longer_than_nonsubmerged(X),datetime(End)).\nblawx_during(datetime(Start),submerged_part_longer_than_nonsubmerged(X),datetime(eot)) :- blawx_ultimately(submerged_part_longer_than_nonsubmerged(X)), blawx_becomes(-submerged_part_longer_than_nonsubmerged(X),datetime(Start)), blawx_not_interrupted(datetime(Start),submerged_part_longer_than_nonsubmerged(X),datetime(eot)).\nblawx_during(datetime(bot),submerged_part_longer_than_nonsubmerged(X),datetime(eot)) :- blawx_initially(submerged_part_longer_than_nonsubmerged(X)), blawx_ultimately(submerged_part_longer_than_nonsubmerged(X)), blawx_becomes(-submerged_part_longer_than_nonsubmerged(X),datetime(Start)), blawx_not_interrupted(datetime(bot),submerged_part_longer_than_nonsubmerged(X),datetime(eot)).\nblawx_during(datetime(Start),-submerged_part_longer_than_nonsubmerged(X),datetime(End)) :- blawx_becomes(-submerged_part_longer_than_nonsubmerged(X),datetime(Start)), blawx_becomes(submerged_part_longer_than_nonsubmerged(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),-submerged_part_longer_than_nonsubmerged(X),datetime(End)).\nblawx_during(datetime(bot),-submerged_part_longer_than_nonsubmerged(X),datetime(End)) :- blawx_initially(-submerged_part_longer_than_nonsubmerged(X)), blawx_becomes(submerged_part_longer_than_nonsubmerged(X),datetime(End)), blawx_not_interrupted(datetime(bot),-submerged_part_longer_than_nonsubmerged(X),datetime(End)).\nblawx_during(datetime(Start),-submerged_part_longer_than_nonsubmerged(X),datetime(eot)) :- blawx_ultimately(-submerged_part_longer_than_nonsubmerged(X)), blawx_becomes(submerged_part_longer_than_nonsubmerged(X),datetime(Start)), blawx_not_interrupted(datetime(Start),-submerged_part_longer_than_nonsubmerged(X),datetime(eot)).\nblawx_during(datetime(bot),-submerged_part_longer_than_nonsubmerged(X),datetime(eot)) :- blawx_initially(-submerged_part_longer_than_nonsubmerged(X)), blawx_ultimately(-submerged_part_longer_than_nonsubmerged(X)), blawx_becomes(-submerged_part_longer_than_nonsubmerged(X),datetime(Start)), blawx_not_interrupted(datetime(bot),-submerged_part_longer_than_nonsubmerged(X),datetime(eot)).\nblawx_attribute(work,submerged_part_follows_slope,boolean).\nblawx_attribute_nlg(submerged_part_follows_slope,not_applicable,\"the submerged part of work\",not_applicable,\"is integrated with and follows the slope of the bed of the navigable water\").\n:- dynamic submerged_part_follows_slope/1.\n#pred submerged_part_follows_slope(X) :: 'the submerged part of work @(X) is integrated with and follows the slope of the bed of the navigable water'.\n#pred holds(user,submerged_part_follows_slope,X) :: 'it is provided as a fact that the submerged part of work @(X) is integrated with and follows the slope of the bed of the navigable water'.\n#pred holds(user,-submerged_part_follows_slope,X) :: 'it is provided as a fact that it is not the case that the submerged part of work @(X) is integrated with and follows the slope of the bed of the navigable water'.\n#pred holds(Z,submerged_part_follows_slope,X) :: 'the conclusion in @(Z) that the submerged part of work @(X) is integrated with and follows the slope of the bed of the navigable water holds'.\n#pred holds(Z,-submerged_part_follows_slope,X) :: 'the conclusion in @(Z) that it is not the case that the submerged part of work @(X) is integrated with and follows the slope of the bed of the navigable water holds'.\n#pred according_to(Z,submerged_part_follows_slope,X) :: 'according to @(Z), the submerged part of work @(X) is integrated with and follows the slope of the bed of the navigable water'.\n#pred according_to(Z,-submerged_part_follows_slope,X) :: 'according to @(Z), it is not the case that the submerged part of work @(X) is integrated with and follows the slope of the bed of the navigable water'.\n#pred blawx_defeated(Z,submerged_part_follows_slope,X) :: 'the conclusion in @(Z) that the submerged part of work @(X) is integrated with and follows the slope of the bed of the navigable water is defeated'.\n#pred blawx_defeated(Z,-submerged_part_follows_slope,X) :: 'the conclusion in @(Z) that the submerged part of work @(X) is integrated with and follows the slope of the bed of the navigable water is defeated'.\n#pred blawx_initially(submerged_part_follows_slope(X)) :: 'that the submerged part of work @(X) is integrated with and follows the slope of the bed of the navigable water holds initially'.\n#pred blawx_initially(-submerged_part_follows_slope(X)) :: 'that it is not the case that the submerged part of work @(X) is integrated with and follows the slope of the bed of the navigable water holds initially'.\n#pred blawx_ultimately(submerged_part_follows_slope(X)) :: 'that the submerged part of work @(X) is integrated with and follows the slope of the bed of the navigable water holds ultimately'.\n#pred blawx_ultimately(-submerged_part_follows_slope(X)) :: 'that it is not the case that the submerged part of work @(X) is integrated with and follows the slope of the bed of the navigable water holds ultimately'.\n#pred blawx_as_of(submerged_part_follows_slope(X),T) :: 'that the submerged part of work @(X) is integrated with and follows the slope of the bed of the navigable water holds at @(T)'.\n#pred blawx_as_of(-submerged_part_follows_slope(X),T) :: 'that it is not the case that the submerged part of work @(X) is integrated with and follows the slope of the bed of the navigable water holds at @(T)'.\n#pred blawx_during(T1,submerged_part_follows_slope(X),T2) :: 'that the submerged part of work @(X) is integrated with and follows the slope of the bed of the navigable water held between @(T1) and @(T2)'.\n#pred blawx_during(T1,-submerged_part_follows_slope(X),T2) :: 'that it is not the case that the submerged part of work @(X) is integrated with and follows the slope of the bed of the navigable water held between @(T1) and @(T2)'.\n#pred blawx_becomes(submerged_part_follows_slope(X),T) :: 'that the submerged part of work @(X) is integrated with and follows the slope of the bed of the navigable water became true at @(T)'.\n#pred blawx_becomes(-submerged_part_follows_slope(X),T) :: 'that it is not the case that the submerged part of work @(X) is integrated with and follows the slope of the bed of the navigable water became true at @(T)'.\n#pred blawx_not_interrupted(Start,submerged_part_follows_slope(X),End) :: 'the submerged part of work @(X) is integrated with and follows the slope of the bed of the navigable water remained the case between @(Start) and @(End)'.\n#pred blawx_not_interrupted(Start,-submerged_part_follows_slope(X),End) :: 'it is not the case that the submerged part of work @(X) is integrated with and follows the slope of the bed of the navigable water remained the case between @(Start) and @(End)'.\nblawx_not_interrupted(datetime(Start),submerged_part_follows_slope(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(-submerged_part_follows_slope(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(Start),-submerged_part_follows_slope(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(submerged_part_follows_slope(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(bot),submerged_part_follows_slope(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(-submerged_part_follows_slope(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(bot),-submerged_part_follows_slope(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(submerged_part_follows_slope(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(Start),submerged_part_follows_slope(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(-submerged_part_follows_slope(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(Start),-submerged_part_follows_slope(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(submerged_part_follows_slope(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(bot),submerged_part_follows_slope(X),datetime(eot)) :- blawx_initially(submerged_part_follows_slope(X)), blawx_ultimately(submerged_part_follows_slope(X)), findall(Time,blawx_becomes(-submerged_part_follows_slope(X),datetime(Time)),[]).\nblawx_not_interrupted(datetime(bot),-submerged_part_follows_slope(X),datetime(eot)) :- blawx_initially(-submerged_part_follows_slope(X)), blawx_ultimately(-submerged_part_follows_slope(X)), findall(Time,blawx_becomes(submerged_part_follows_slope(X),datetime(Time)),[]).\nblawx_as_of(submerged_part_follows_slope(X),datetime(Time)) :- blawx_initially(submerged_part_follows_slope(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),submerged_part_follows_slope(X),datetime(BeforeT)).\nblawx_as_of(submerged_part_follows_slope(X),datetime(Time)) :- blawx_becomes(submerged_part_follows_slope(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),submerged_part_follows_slope(X),datetime(Time)).\nblawx_as_of(-submerged_part_follows_slope(X),datetime(Time)) :- blawx_initially(-submerged_part_follows_slope(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),-submerged_part_follows_slope(X),datetime(BeforeT)).\nblawx_as_of(-submerged_part_follows_slope(X),datetime(Time)) :- blawx_becomes(-submerged_part_follows_slope(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),-submerged_part_follows_slope(X),datetime(Time)).\nblawx_during(datetime(Start),submerged_part_follows_slope(X),datetime(End)) :- blawx_becomes(submerged_part_follows_slope(X),datetime(Start)), blawx_becomes(-submerged_part_follows_slope(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),submerged_part_follows_slope(X),datetime(End)).\nblawx_during(datetime(bot),submerged_part_follows_slope(X),datetime(End)) :- blawx_initially(submerged_part_follows_slope(X)), blawx_becomes(-submerged_part_follows_slope(X),datetime(End)), blawx_not_interrupted(datetime(bot),submerged_part_follows_slope(X),datetime(End)).\nblawx_during(datetime(Start),submerged_part_follows_slope(X),datetime(eot)) :- blawx_ultimately(submerged_part_follows_slope(X)), blawx_becomes(-submerged_part_follows_slope(X),datetime(Start)), blawx_not_interrupted(datetime(Start),submerged_part_follows_slope(X),datetime(eot)).\nblawx_during(datetime(bot),submerged_part_follows_slope(X),datetime(eot)) :- blawx_initially(submerged_part_follows_slope(X)), blawx_ultimately(submerged_part_follows_slope(X)), blawx_becomes(-submerged_part_follows_slope(X),datetime(Start)), blawx_not_interrupted(datetime(bot),submerged_part_follows_slope(X),datetime(eot)).\nblawx_during(datetime(Start),-submerged_part_follows_slope(X),datetime(End)) :- blawx_becomes(-submerged_part_follows_slope(X),datetime(Start)), blawx_becomes(submerged_part_follows_slope(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),-submerged_part_follows_slope(X),datetime(End)).\nblawx_during(datetime(bot),-submerged_part_follows_slope(X),datetime(End)) :- blawx_initially(-submerged_part_follows_slope(X)), blawx_becomes(submerged_part_follows_slope(X),datetime(End)), blawx_not_interrupted(datetime(bot),-submerged_part_follows_slope(X),datetime(End)).\nblawx_during(datetime(Start),-submerged_part_follows_slope(X),datetime(eot)) :- blawx_ultimately(-submerged_part_follows_slope(X)), blawx_becomes(submerged_part_follows_slope(X),datetime(Start)), blawx_not_interrupted(datetime(Start),-submerged_part_follows_slope(X),datetime(eot)).\nblawx_during(datetime(bot),-submerged_part_follows_slope(X),datetime(eot)) :- blawx_initially(-submerged_part_follows_slope(X)), blawx_ultimately(-submerged_part_follows_slope(X)), blawx_becomes(-submerged_part_follows_slope(X),datetime(Start)), blawx_not_interrupted(datetime(bot),-submerged_part_follows_slope(X),datetime(eot)).\n\naccording_to(sec_12__subsec_1__para_b_section,meets_respective_rule_criteria,Work) :- work(Work),\nsubmerged_part_longer_than_nonsubmerged(Work),\nsubmerged_part_follows_slope(Work).\n\n% BLAWX CHECK DUPLICATES\nholds(sec_12__subsec_1__para_b_section,meets_respective_rule_criteria,Work) :- according_to(sec_12__subsec_1__para_b_section,meets_respective_rule_criteria,Work).\n\n% BLAWX CHECK DUPLICATES\n meets_respective_rule_criteria(Work) :- holds(sec_12__subsec_1__para_b_section,meets_respective_rule_criteria,Work).\n\naccording_to(sec_12__subsec_1__para_b_section,meets_respective_rule_criteria,Work) :- work(Work),\nnot submerged_part_longer_than_nonsubmerged(Work).\n\n% BLAWX CHECK DUPLICATES\nholds(sec_12__subsec_1__para_b_section,meets_respective_rule_criteria,Work) :- according_to(sec_12__subsec_1__para_b_section,meets_respective_rule_criteria,Work).\n\n% BLAWX CHECK DUPLICATES\n meets_respective_rule_criteria(Work) :- holds(sec_12__subsec_1__para_b_section,meets_respective_rule_criteria,Work)." - model: blawx.workspace pk: 272 fields: ruledoc: 20 workspace_name: sec_3__subsec_2_section xml_content: ownerobjectis the ownerownerowner_of_workworkovobjectis the owner of workvalueworkdeposit_informationownerovbefore beginning workobjectownervaluemust deposit information in the registry established under section 27.2 of the Actproject_typeobjectis a project typeworktypeproject_typeovworkobjectis avalueprojectconstructionis a project typeplacementis a project typealterationis a project typerebuildingis a project typeremovalis a project typedecommissioningis a project typeFALSEFALSEownerOwnerworkWorkMWO 3.1MWO 3.2Workis the owner of workOwnerWorkworkis aprojectWorkMWO 3.2before beginning workownermust deposit information in the registry established under section 27.2 of the ActWorkOwner scasp_encoding: "blawx_category(owner).\nblawx_category_nlg(owner,\"\",\"is the owner\").\n:- dynamic owner/1.\n#pred owner(X) :: '@(X) is the owner'.\n#pred holds(user,owner,X) :: 'it is provided as a fact that @(X) is the owner'.\n#pred holds(user,-owner,X) :: 'it is provided as a fact that it is not the case that @(X) is the owner'.\n#pred holds(Z,owner,X) :: 'the conclusion in @(Z) that @(X) is the owner holds'.\n#pred holds(Z,-owner,X) :: 'the conclusion in @(Z) that it is not the case that @(X) is the owner holds'.\n#pred according_to(Z,owner,X) :: 'according to @(Z), @(X) is the owner'.\n#pred according_to(Z,-owner,X) :: 'according to @(Z), it is not the case that @(X) is the owner'.\n#pred blawx_defeated(Z,owner,X) :: 'the conclusion in @(Z) that @(X) is the owner is defeated'.\n#pred blawx_defeated(Z,-owner,X) :: 'the conclusion in @(Z) that it is not the case that @(X) is the owner is defeated'.\n#pred blawx_initially(owner(X)) :: 'that @(X) is the owner holds initially'.\n#pred blawx_initially(-owner(X)) :: 'that it is not the case that @(X) is the owner holds initially'.\n#pred blawx_ultimately(owner(X)) :: 'that @(X) is the owner holds ultimately'.\n#pred blawx_ultimately(-owner(X)) :: 'that it is not the case that @(X) is the owner holds ultimately'.\n#pred blawx_as_of(owner(X),T) :: 'that @(X) is the owner holds at @(T)'.\n#pred blawx_as_of(-owner(X),T) :: 'that it is not the case that @(X) is the owner holds at @(T)'.\n#pred blawx_during(T1,owner(X),T2) :: 'that @(X) is the owner held between @(T1) and @(T2)'.\n#pred blawx_during(T1,-owner(X),T2) :: 'that it is not the case that @(X) is the owner held between @(T1) and @(T2)'.\n#pred blawx_becomes(owner(X),T) :: 'that @(X) is the owner became true at @(T)'.\n#pred blawx_becomes(-owner(X),T) :: 'that it is not the case that @(X) is the owner became true at @(T)'.\n#pred blawx_not_interrupted(Start,owner(X),End) :: '@(X) is the owner remained the case between @(Start) and @(End)'.\n#pred blawx_not_interrupted(Start,-owner(X),End) :: 'it is not the case that @(X) is the owner remained the case between @(Start) and @(End)'.\nblawx_not_interrupted(datetime(Start),owner(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(-owner(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(Start),-owner(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(owner(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(bot),owner(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(-owner(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(bot),-owner(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(owner(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(Start),owner(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(-owner(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(Start),-owner(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(owner(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(bot),owner(X),datetime(eot)) :- blawx_initially(owner(X)), blawx_ultimately(owner(X)), findall(Time,blawx_becomes(-owner(X),datetime(Time)),[]).\nblawx_not_interrupted(datetime(bot),-owner(X),datetime(eot)) :- blawx_initially(-owner(X)), blawx_ultimately(-owner(X)), findall(Time,blawx_becomes(owner(X),datetime(Time)),[]).\nblawx_as_of(owner(X),datetime(Time)) :- blawx_initially(owner(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),owner(X),datetime(BeforeT)).\nblawx_as_of(owner(X),datetime(Time)) :- blawx_becomes(owner(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),owner(X),datetime(Time)).\nblawx_as_of(-owner(X),datetime(Time)) :- blawx_initially(-owner(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),-owner(X),datetime(BeforeT)).\nblawx_as_of(-owner(X),datetime(Time)) :- blawx_becomes(-owner(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),-owner(X),datetime(Time)).\nblawx_during(datetime(Start),owner(X),datetime(End)) :- blawx_becomes(owner(X),datetime(Start)), blawx_becomes(-owner(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),owner(X),datetime(End)).\nblawx_during(datetime(bot),owner(X),datetime(End)) :- blawx_initially(owner(X)), blawx_becomes(-owner(X),datetime(End)), blawx_not_interrupted(datetime(bot),owner(X),datetime(End)).\nblawx_during(datetime(Start),owner(X),datetime(eot)) :- blawx_ultimately(owner(X)), blawx_becomes(-owner(X),datetime(Start)), blawx_not_interrupted(datetime(Start),owner(X),datetime(eot)).\nblawx_during(datetime(bot),owner(X),datetime(eot)) :- blawx_initially(owner(X)), blawx_ultimately(owner(X)), blawx_becomes(-owner(X),datetime(Start)), blawx_not_interrupted(datetime(bot),owner(X),datetime(eot)).\nblawx_during(datetime(Start),-owner(X),datetime(End)) :- blawx_becomes(-owner(X),datetime(Start)), blawx_becomes(owner(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),-owner(X),datetime(End)).\nblawx_during(datetime(bot),-owner(X),datetime(End)) :- blawx_initially(-owner(X)), blawx_becomes(owner(X),datetime(End)), blawx_not_interrupted(datetime(bot),-owner(X),datetime(End)).\nblawx_during(datetime(Start),-owner(X),datetime(eot)) :- blawx_ultimately(-owner(X)), blawx_becomes(owner(X),datetime(Start)), blawx_not_interrupted(datetime(Start),-owner(X),datetime(eot)).\nblawx_during(datetime(bot),-owner(X),datetime(eot)) :- blawx_initially(-owner(X)), blawx_ultimately(-owner(X)), blawx_becomes(-owner(X),datetime(Start)), blawx_not_interrupted(datetime(bot),-owner(X),datetime(eot)).\nblawx_attribute(owner,owner_of_work,work).\nblawx_attribute_nlg(owner_of_work,ov,\"\",\"is the owner of work\",\"\").\n:- dynamic owner_of_work/2.\n#pred owner_of_work(X,Y) :: '@(X) is the owner of work @(Y)'.\n#pred holds(user,owner_of_work,X,Y) :: 'it is provided as a fact that @(X) is the owner of work @(Y)'.\n#pred holds(user,-owner_of_work,X,Y) :: 'it is provided as a fact that it is not the case that @(X) is the owner of work @(Y)'.\n#pred holds(Z,owner_of_work,X,Y) :: 'the conclusion in @(Z) that @(X) is the owner of work @(Y) holds'.\n#pred holds(Z,-owner_of_work,X,Y) :: 'the conclusion in @(Z) that it is not the case that @(X) is the owner of work @(Y) holds'.\n#pred according_to(Z,owner_of_work,X,Y) :: 'according to @(Z), @(X) is the owner of work @(Y)'.\n#pred according_to(Z,-owner_of_work,X,Y) :: 'according to @(Z), it is not the case that @(X) is the owner of work @(Y)'.\n#pred blawx_defeated(Z,owner_of_work,X,Y) :: 'the conclusion in @(Z) that @(X) is the owner of work @(Y) is defeated'.\n#pred blawx_defeated(Z,-owner_of_work,X,Y) :: 'the conclusion in @(Z) that @(X) is the owner of work @(Y) is defeated'.\n#pred blawx_initially(owner_of_work(X,Y)) :: 'that @(X) is the owner of work @(Y) holds initially'.\n#pred blawx_initially(-owner_of_work(X,Y)) :: 'that it is not the case that @(X) is the owner of work @(Y) holds initially'.\n#pred blawx_ultimately(owner_of_work(X,Y)) :: 'that @(X) is the owner of work @(Y) holds ultimately'.\n#pred blawx_ultimately(-owner_of_work(X,Y)) :: 'that it is not the case that @(X) is the owner of work @(Y) holds ultimately'.\n#pred blawx_as_of(owner_of_work(X,Y),T) :: 'that @(X) is the owner of work @(Y) holds at @(T)'.\n#pred blawx_as_of(-owner_of_work(X,Y),T) :: 'that it is not the case that @(X) is the owner of work @(Y) holds at @(T)'.\n#pred blawx_during(T1,owner_of_work(X,Y),T2) :: 'that @(X) is the owner of work @(Y) held between @(T1) and @(T2)'.\n#pred blawx_during(T1,-owner_of_work(X,Y),T2) :: 'that it is not the case that @(X) is the owner of work @(Y) held between @(T1) and @(T2)'.\n#pred blawx_becomes(owner_of_work(X,Y),T) :: 'that @(X) is the owner of work @(Y) became true at @(T)'.\n#pred blawx_becomes(-owner_of_work(X,Y),T) :: 'that it is not the case that @(X) is the owner of work @(Y) became true at @(T)'.\n#pred blawx_not_interrupted(Start,owner_of_work(X,Y),End) :: '@(X) is the owner of work @(Y) remained the case between @(Start) and @(End)'.\n#pred blawx_not_interrupted(Start,-owner_of_work(X,Y),End) :: 'it is not the case that @(X) is the owner of work @(Y) remained the case between @(Start) and @(End)'.\nblawx_not_interrupted(datetime(Start),owner_of_work(X,Y),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(-owner_of_work(X,Y),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(Start),-owner_of_work(X,Y),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(owner_of_work(X,Y),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(bot),owner_of_work(X,Y),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(-owner_of_work(X,Y),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(bot),-owner_of_work(X,Y),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(owner_of_work(X,Y),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(Start),owner_of_work(X,Y),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(-owner_of_work(X,Y),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(Start),-owner_of_work(X,Y),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(owner_of_work(X,Y),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(bot),owner_of_work(X,Y),datetime(eot)) :- blawx_initially(owner_of_work(X,Y)), blawx_ultimately(owner_of_work(X,Y)), findall(Time,blawx_becomes(-owner_of_work(X,Y),datetime(Time)),[]).\nblawx_not_interrupted(datetime(bot),-owner_of_work(X,Y),datetime(eot)) :- blawx_initially(-owner_of_work(X,Y)), blawx_ultimately(-owner_of_work(X,Y)), findall(Time,blawx_becomes(owner_of_work(X,Y),datetime(Time)),[]).\nblawx_as_of(owner_of_work(X,Y),datetime(Time)) :- blawx_initially(owner_of_work(X,Y)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),owner_of_work(X,Y),datetime(BeforeT)).\nblawx_as_of(owner_of_work(X,Y),datetime(Time)) :- blawx_becomes(owner_of_work(X,Y),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),owner_of_work(X,Y),datetime(Time)).\nblawx_as_of(-owner_of_work(X,Y),datetime(Time)) :- blawx_initially(-owner_of_work(X,Y)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),-owner_of_work(X,Y),datetime(BeforeT)).\nblawx_as_of(-owner_of_work(X,Y),datetime(Time)) :- blawx_becomes(-owner_of_work(X,Y),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),-owner_of_work(X,Y),datetime(Time)).\nblawx_during(datetime(Start),owner_of_work(X,Y),datetime(End)) :- blawx_becomes(owner_of_work(X,Y),datetime(Start)), blawx_becomes(-owner_of_work(X,Y),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),owner_of_work(X,Y),datetime(End)).\nblawx_during(datetime(bot),owner_of_work(X,Y),datetime(End)) :- blawx_initially(owner_of_work(X,Y)), blawx_becomes(-owner_of_work(X,Y),datetime(End)), blawx_not_interrupted(datetime(bot),owner_of_work(X,Y),datetime(End)).\nblawx_during(datetime(Start),owner_of_work(X,Y),datetime(eot)) :- blawx_ultimately(owner_of_work(X,Y)), blawx_becomes(-owner_of_work(X,Y),datetime(Start)), blawx_not_interrupted(datetime(Start),owner_of_work(X,Y),datetime(eot)).\nblawx_during(datetime(bot),owner_of_work(X,Y),datetime(eot)) :- blawx_initially(owner_of_work(X,Y)), blawx_ultimately(owner_of_work(X,Y)), blawx_becomes(-owner_of_work(X,Y),datetime(Start)), blawx_not_interrupted(datetime(bot),owner_of_work(X,Y),datetime(eot)).\nblawx_during(datetime(Start),-owner_of_work(X,Y),datetime(End)) :- blawx_becomes(-owner_of_work(X,Y),datetime(Start)), blawx_becomes(owner_of_work(X,Y),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),-owner_of_work(X,Y),datetime(End)).\nblawx_during(datetime(bot),-owner_of_work(X,Y),datetime(End)) :- blawx_initially(-owner_of_work(X,Y)), blawx_becomes(owner_of_work(X,Y),datetime(End)), blawx_not_interrupted(datetime(bot),-owner_of_work(X,Y),datetime(End)).\nblawx_during(datetime(Start),-owner_of_work(X,Y),datetime(eot)) :- blawx_ultimately(-owner_of_work(X,Y)), blawx_becomes(owner_of_work(X,Y),datetime(Start)), blawx_not_interrupted(datetime(Start),-owner_of_work(X,Y),datetime(eot)).\nblawx_during(datetime(bot),-owner_of_work(X,Y),datetime(eot)) :- blawx_initially(-owner_of_work(X,Y)), blawx_ultimately(-owner_of_work(X,Y)), blawx_becomes(-owner_of_work(X,Y),datetime(Start)), blawx_not_interrupted(datetime(bot),-owner_of_work(X,Y),datetime(eot)).\nblawx_attribute(work,deposit_information,owner).\nblawx_attribute_nlg(deposit_information,ov,\"before beginning work\",\"owner\",\"must deposit information in the registry established under section 27.2 of the Act\").\n:- dynamic deposit_information/2.\n#pred deposit_information(X,Y) :: 'before beginning work @(X) owner @(Y) must deposit information in the registry established under section 27.2 of the Act'.\n#pred holds(user,deposit_information,X,Y) :: 'it is provided as a fact that before beginning work @(X) owner @(Y) must deposit information in the registry established under section 27.2 of the Act'.\n#pred holds(user,-deposit_information,X,Y) :: 'it is provided as a fact that it is not the case that before beginning work @(X) owner @(Y) must deposit information in the registry established under section 27.2 of the Act'.\n#pred holds(Z,deposit_information,X,Y) :: 'the conclusion in @(Z) that before beginning work @(X) owner @(Y) must deposit information in the registry established under section 27.2 of the Act holds'.\n#pred holds(Z,-deposit_information,X,Y) :: 'the conclusion in @(Z) that it is not the case that before beginning work @(X) owner @(Y) must deposit information in the registry established under section 27.2 of the Act holds'.\n#pred according_to(Z,deposit_information,X,Y) :: 'according to @(Z), before beginning work @(X) owner @(Y) must deposit information in the registry established under section 27.2 of the Act'.\n#pred according_to(Z,-deposit_information,X,Y) :: 'according to @(Z), it is not the case that before beginning work @(X) owner @(Y) must deposit information in the registry established under section 27.2 of the Act'.\n#pred blawx_defeated(Z,deposit_information,X,Y) :: 'the conclusion in @(Z) that before beginning work @(X) owner @(Y) must deposit information in the registry established under section 27.2 of the Act is defeated'.\n#pred blawx_defeated(Z,-deposit_information,X,Y) :: 'the conclusion in @(Z) that before beginning work @(X) owner @(Y) must deposit information in the registry established under section 27.2 of the Act is defeated'.\n#pred blawx_initially(deposit_information(X,Y)) :: 'that before beginning work @(X) owner @(Y) must deposit information in the registry established under section 27.2 of the Act holds initially'.\n#pred blawx_initially(-deposit_information(X,Y)) :: 'that it is not the case that before beginning work @(X) owner @(Y) must deposit information in the registry established under section 27.2 of the Act holds initially'.\n#pred blawx_ultimately(deposit_information(X,Y)) :: 'that before beginning work @(X) owner @(Y) must deposit information in the registry established under section 27.2 of the Act holds ultimately'.\n#pred blawx_ultimately(-deposit_information(X,Y)) :: 'that it is not the case that before beginning work @(X) owner @(Y) must deposit information in the registry established under section 27.2 of the Act holds ultimately'.\n#pred blawx_as_of(deposit_information(X,Y),T) :: 'that before beginning work @(X) owner @(Y) must deposit information in the registry established under section 27.2 of the Act holds at @(T)'.\n#pred blawx_as_of(-deposit_information(X,Y),T) :: 'that it is not the case that before beginning work @(X) owner @(Y) must deposit information in the registry established under section 27.2 of the Act holds at @(T)'.\n#pred blawx_during(T1,deposit_information(X,Y),T2) :: 'that before beginning work @(X) owner @(Y) must deposit information in the registry established under section 27.2 of the Act held between @(T1) and @(T2)'.\n#pred blawx_during(T1,-deposit_information(X,Y),T2) :: 'that it is not the case that before beginning work @(X) owner @(Y) must deposit information in the registry established under section 27.2 of the Act held between @(T1) and @(T2)'.\n#pred blawx_becomes(deposit_information(X,Y),T) :: 'that before beginning work @(X) owner @(Y) must deposit information in the registry established under section 27.2 of the Act became true at @(T)'.\n#pred blawx_becomes(-deposit_information(X,Y),T) :: 'that it is not the case that before beginning work @(X) owner @(Y) must deposit information in the registry established under section 27.2 of the Act became true at @(T)'.\n#pred blawx_not_interrupted(Start,deposit_information(X,Y),End) :: 'before beginning work @(X) owner @(Y) must deposit information in the registry established under section 27.2 of the Act remained the case between @(Start) and @(End)'.\n#pred blawx_not_interrupted(Start,-deposit_information(X,Y),End) :: 'it is not the case that before beginning work @(X) owner @(Y) must deposit information in the registry established under section 27.2 of the Act remained the case between @(Start) and @(End)'.\nblawx_not_interrupted(datetime(Start),deposit_information(X,Y),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(-deposit_information(X,Y),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(Start),-deposit_information(X,Y),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(deposit_information(X,Y),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(bot),deposit_information(X,Y),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(-deposit_information(X,Y),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(bot),-deposit_information(X,Y),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(deposit_information(X,Y),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(Start),deposit_information(X,Y),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(-deposit_information(X,Y),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(Start),-deposit_information(X,Y),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(deposit_information(X,Y),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(bot),deposit_information(X,Y),datetime(eot)) :- blawx_initially(deposit_information(X,Y)), blawx_ultimately(deposit_information(X,Y)), findall(Time,blawx_becomes(-deposit_information(X,Y),datetime(Time)),[]).\nblawx_not_interrupted(datetime(bot),-deposit_information(X,Y),datetime(eot)) :- blawx_initially(-deposit_information(X,Y)), blawx_ultimately(-deposit_information(X,Y)), findall(Time,blawx_becomes(deposit_information(X,Y),datetime(Time)),[]).\nblawx_as_of(deposit_information(X,Y),datetime(Time)) :- blawx_initially(deposit_information(X,Y)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),deposit_information(X,Y),datetime(BeforeT)).\nblawx_as_of(deposit_information(X,Y),datetime(Time)) :- blawx_becomes(deposit_information(X,Y),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),deposit_information(X,Y),datetime(Time)).\nblawx_as_of(-deposit_information(X,Y),datetime(Time)) :- blawx_initially(-deposit_information(X,Y)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),-deposit_information(X,Y),datetime(BeforeT)).\nblawx_as_of(-deposit_information(X,Y),datetime(Time)) :- blawx_becomes(-deposit_information(X,Y),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),-deposit_information(X,Y),datetime(Time)).\nblawx_during(datetime(Start),deposit_information(X,Y),datetime(End)) :- blawx_becomes(deposit_information(X,Y),datetime(Start)), blawx_becomes(-deposit_information(X,Y),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),deposit_information(X,Y),datetime(End)).\nblawx_during(datetime(bot),deposit_information(X,Y),datetime(End)) :- blawx_initially(deposit_information(X,Y)), blawx_becomes(-deposit_information(X,Y),datetime(End)), blawx_not_interrupted(datetime(bot),deposit_information(X,Y),datetime(End)).\nblawx_during(datetime(Start),deposit_information(X,Y),datetime(eot)) :- blawx_ultimately(deposit_information(X,Y)), blawx_becomes(-deposit_information(X,Y),datetime(Start)), blawx_not_interrupted(datetime(Start),deposit_information(X,Y),datetime(eot)).\nblawx_during(datetime(bot),deposit_information(X,Y),datetime(eot)) :- blawx_initially(deposit_information(X,Y)), blawx_ultimately(deposit_information(X,Y)), blawx_becomes(-deposit_information(X,Y),datetime(Start)), blawx_not_interrupted(datetime(bot),deposit_information(X,Y),datetime(eot)).\nblawx_during(datetime(Start),-deposit_information(X,Y),datetime(End)) :- blawx_becomes(-deposit_information(X,Y),datetime(Start)), blawx_becomes(deposit_information(X,Y),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),-deposit_information(X,Y),datetime(End)).\nblawx_during(datetime(bot),-deposit_information(X,Y),datetime(End)) :- blawx_initially(-deposit_information(X,Y)), blawx_becomes(deposit_information(X,Y),datetime(End)), blawx_not_interrupted(datetime(bot),-deposit_information(X,Y),datetime(End)).\nblawx_during(datetime(Start),-deposit_information(X,Y),datetime(eot)) :- blawx_ultimately(-deposit_information(X,Y)), blawx_becomes(deposit_information(X,Y),datetime(Start)), blawx_not_interrupted(datetime(Start),-deposit_information(X,Y),datetime(eot)).\nblawx_during(datetime(bot),-deposit_information(X,Y),datetime(eot)) :- blawx_initially(-deposit_information(X,Y)), blawx_ultimately(-deposit_information(X,Y)), blawx_becomes(-deposit_information(X,Y),datetime(Start)), blawx_not_interrupted(datetime(bot),-deposit_information(X,Y),datetime(eot)).\n\nblawx_category(project_type).\nblawx_category_nlg(project_type,\"\",\"is a project type\").\n:- dynamic project_type/1.\n#pred project_type(X) :: '@(X) is a project type'.\n#pred holds(user,project_type,X) :: 'it is provided as a fact that @(X) is a project type'.\n#pred holds(user,-project_type,X) :: 'it is provided as a fact that it is not the case that @(X) is a project type'.\n#pred holds(Z,project_type,X) :: 'the conclusion in @(Z) that @(X) is a project type holds'.\n#pred holds(Z,-project_type,X) :: 'the conclusion in @(Z) that it is not the case that @(X) is a project type holds'.\n#pred according_to(Z,project_type,X) :: 'according to @(Z), @(X) is a project type'.\n#pred according_to(Z,-project_type,X) :: 'according to @(Z), it is not the case that @(X) is a project type'.\n#pred blawx_defeated(Z,project_type,X) :: 'the conclusion in @(Z) that @(X) is a project type is defeated'.\n#pred blawx_defeated(Z,-project_type,X) :: 'the conclusion in @(Z) that it is not the case that @(X) is a project type is defeated'.\n#pred blawx_initially(project_type(X)) :: 'that @(X) is a project type holds initially'.\n#pred blawx_initially(-project_type(X)) :: 'that it is not the case that @(X) is a project type holds initially'.\n#pred blawx_ultimately(project_type(X)) :: 'that @(X) is a project type holds ultimately'.\n#pred blawx_ultimately(-project_type(X)) :: 'that it is not the case that @(X) is a project type holds ultimately'.\n#pred blawx_as_of(project_type(X),T) :: 'that @(X) is a project type holds at @(T)'.\n#pred blawx_as_of(-project_type(X),T) :: 'that it is not the case that @(X) is a project type holds at @(T)'.\n#pred blawx_during(T1,project_type(X),T2) :: 'that @(X) is a project type held between @(T1) and @(T2)'.\n#pred blawx_during(T1,-project_type(X),T2) :: 'that it is not the case that @(X) is a project type held between @(T1) and @(T2)'.\n#pred blawx_becomes(project_type(X),T) :: 'that @(X) is a project type became true at @(T)'.\n#pred blawx_becomes(-project_type(X),T) :: 'that it is not the case that @(X) is a project type became true at @(T)'.\n#pred blawx_not_interrupted(Start,project_type(X),End) :: '@(X) is a project type remained the case between @(Start) and @(End)'.\n#pred blawx_not_interrupted(Start,-project_type(X),End) :: 'it is not the case that @(X) is a project type remained the case between @(Start) and @(End)'.\nblawx_not_interrupted(datetime(Start),project_type(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(-project_type(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(Start),-project_type(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(project_type(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(bot),project_type(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(-project_type(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(bot),-project_type(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(project_type(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(Start),project_type(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(-project_type(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(Start),-project_type(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(project_type(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(bot),project_type(X),datetime(eot)) :- blawx_initially(project_type(X)), blawx_ultimately(project_type(X)), findall(Time,blawx_becomes(-project_type(X),datetime(Time)),[]).\nblawx_not_interrupted(datetime(bot),-project_type(X),datetime(eot)) :- blawx_initially(-project_type(X)), blawx_ultimately(-project_type(X)), findall(Time,blawx_becomes(project_type(X),datetime(Time)),[]).\nblawx_as_of(project_type(X),datetime(Time)) :- blawx_initially(project_type(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),project_type(X),datetime(BeforeT)).\nblawx_as_of(project_type(X),datetime(Time)) :- blawx_becomes(project_type(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),project_type(X),datetime(Time)).\nblawx_as_of(-project_type(X),datetime(Time)) :- blawx_initially(-project_type(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),-project_type(X),datetime(BeforeT)).\nblawx_as_of(-project_type(X),datetime(Time)) :- blawx_becomes(-project_type(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),-project_type(X),datetime(Time)).\nblawx_during(datetime(Start),project_type(X),datetime(End)) :- blawx_becomes(project_type(X),datetime(Start)), blawx_becomes(-project_type(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),project_type(X),datetime(End)).\nblawx_during(datetime(bot),project_type(X),datetime(End)) :- blawx_initially(project_type(X)), blawx_becomes(-project_type(X),datetime(End)), blawx_not_interrupted(datetime(bot),project_type(X),datetime(End)).\nblawx_during(datetime(Start),project_type(X),datetime(eot)) :- blawx_ultimately(project_type(X)), blawx_becomes(-project_type(X),datetime(Start)), blawx_not_interrupted(datetime(Start),project_type(X),datetime(eot)).\nblawx_during(datetime(bot),project_type(X),datetime(eot)) :- blawx_initially(project_type(X)), blawx_ultimately(project_type(X)), blawx_becomes(-project_type(X),datetime(Start)), blawx_not_interrupted(datetime(bot),project_type(X),datetime(eot)).\nblawx_during(datetime(Start),-project_type(X),datetime(End)) :- blawx_becomes(-project_type(X),datetime(Start)), blawx_becomes(project_type(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),-project_type(X),datetime(End)).\nblawx_during(datetime(bot),-project_type(X),datetime(End)) :- blawx_initially(-project_type(X)), blawx_becomes(project_type(X),datetime(End)), blawx_not_interrupted(datetime(bot),-project_type(X),datetime(End)).\nblawx_during(datetime(Start),-project_type(X),datetime(eot)) :- blawx_ultimately(-project_type(X)), blawx_becomes(project_type(X),datetime(Start)), blawx_not_interrupted(datetime(Start),-project_type(X),datetime(eot)).\nblawx_during(datetime(bot),-project_type(X),datetime(eot)) :- blawx_initially(-project_type(X)), blawx_ultimately(-project_type(X)), blawx_becomes(-project_type(X),datetime(Start)), blawx_not_interrupted(datetime(bot),-project_type(X),datetime(eot)).\nblawx_attribute(work,type,project_type).\nblawx_attribute_nlg(type,ov,\"work\",\"is a\",\"project\").\n:- dynamic type/2.\n#pred type(X,Y) :: 'work @(X) is a @(Y) project'.\n#pred holds(user,type,X,Y) :: 'it is provided as a fact that work @(X) is a @(Y) project'.\n#pred holds(user,-type,X,Y) :: 'it is provided as a fact that it is not the case that work @(X) is a @(Y) project'.\n#pred holds(Z,type,X,Y) :: 'the conclusion in @(Z) that work @(X) is a @(Y) project holds'.\n#pred holds(Z,-type,X,Y) :: 'the conclusion in @(Z) that it is not the case that work @(X) is a @(Y) project holds'.\n#pred according_to(Z,type,X,Y) :: 'according to @(Z), work @(X) is a @(Y) project'.\n#pred according_to(Z,-type,X,Y) :: 'according to @(Z), it is not the case that work @(X) is a @(Y) project'.\n#pred blawx_defeated(Z,type,X,Y) :: 'the conclusion in @(Z) that work @(X) is a @(Y) project is defeated'.\n#pred blawx_defeated(Z,-type,X,Y) :: 'the conclusion in @(Z) that work @(X) is a @(Y) project is defeated'.\n#pred blawx_initially(type(X,Y)) :: 'that work @(X) is a @(Y) project holds initially'.\n#pred blawx_initially(-type(X,Y)) :: 'that it is not the case that work @(X) is a @(Y) project holds initially'.\n#pred blawx_ultimately(type(X,Y)) :: 'that work @(X) is a @(Y) project holds ultimately'.\n#pred blawx_ultimately(-type(X,Y)) :: 'that it is not the case that work @(X) is a @(Y) project holds ultimately'.\n#pred blawx_as_of(type(X,Y),T) :: 'that work @(X) is a @(Y) project holds at @(T)'.\n#pred blawx_as_of(-type(X,Y),T) :: 'that it is not the case that work @(X) is a @(Y) project holds at @(T)'.\n#pred blawx_during(T1,type(X,Y),T2) :: 'that work @(X) is a @(Y) project held between @(T1) and @(T2)'.\n#pred blawx_during(T1,-type(X,Y),T2) :: 'that it is not the case that work @(X) is a @(Y) project held between @(T1) and @(T2)'.\n#pred blawx_becomes(type(X,Y),T) :: 'that work @(X) is a @(Y) project became true at @(T)'.\n#pred blawx_becomes(-type(X,Y),T) :: 'that it is not the case that work @(X) is a @(Y) project became true at @(T)'.\n#pred blawx_not_interrupted(Start,type(X,Y),End) :: 'work @(X) is a @(Y) project remained the case between @(Start) and @(End)'.\n#pred blawx_not_interrupted(Start,-type(X,Y),End) :: 'it is not the case that work @(X) is a @(Y) project remained the case between @(Start) and @(End)'.\nblawx_not_interrupted(datetime(Start),type(X,Y),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(-type(X,Y),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(Start),-type(X,Y),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(type(X,Y),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(bot),type(X,Y),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(-type(X,Y),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(bot),-type(X,Y),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(type(X,Y),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(Start),type(X,Y),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(-type(X,Y),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(Start),-type(X,Y),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(type(X,Y),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(bot),type(X,Y),datetime(eot)) :- blawx_initially(type(X,Y)), blawx_ultimately(type(X,Y)), findall(Time,blawx_becomes(-type(X,Y),datetime(Time)),[]).\nblawx_not_interrupted(datetime(bot),-type(X,Y),datetime(eot)) :- blawx_initially(-type(X,Y)), blawx_ultimately(-type(X,Y)), findall(Time,blawx_becomes(type(X,Y),datetime(Time)),[]).\nblawx_as_of(type(X,Y),datetime(Time)) :- blawx_initially(type(X,Y)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),type(X,Y),datetime(BeforeT)).\nblawx_as_of(type(X,Y),datetime(Time)) :- blawx_becomes(type(X,Y),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),type(X,Y),datetime(Time)).\nblawx_as_of(-type(X,Y),datetime(Time)) :- blawx_initially(-type(X,Y)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),-type(X,Y),datetime(BeforeT)).\nblawx_as_of(-type(X,Y),datetime(Time)) :- blawx_becomes(-type(X,Y),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),-type(X,Y),datetime(Time)).\nblawx_during(datetime(Start),type(X,Y),datetime(End)) :- blawx_becomes(type(X,Y),datetime(Start)), blawx_becomes(-type(X,Y),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),type(X,Y),datetime(End)).\nblawx_during(datetime(bot),type(X,Y),datetime(End)) :- blawx_initially(type(X,Y)), blawx_becomes(-type(X,Y),datetime(End)), blawx_not_interrupted(datetime(bot),type(X,Y),datetime(End)).\nblawx_during(datetime(Start),type(X,Y),datetime(eot)) :- blawx_ultimately(type(X,Y)), blawx_becomes(-type(X,Y),datetime(Start)), blawx_not_interrupted(datetime(Start),type(X,Y),datetime(eot)).\nblawx_during(datetime(bot),type(X,Y),datetime(eot)) :- blawx_initially(type(X,Y)), blawx_ultimately(type(X,Y)), blawx_becomes(-type(X,Y),datetime(Start)), blawx_not_interrupted(datetime(bot),type(X,Y),datetime(eot)).\nblawx_during(datetime(Start),-type(X,Y),datetime(End)) :- blawx_becomes(-type(X,Y),datetime(Start)), blawx_becomes(type(X,Y),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),-type(X,Y),datetime(End)).\nblawx_during(datetime(bot),-type(X,Y),datetime(End)) :- blawx_initially(-type(X,Y)), blawx_becomes(type(X,Y),datetime(End)), blawx_not_interrupted(datetime(bot),-type(X,Y),datetime(End)).\nblawx_during(datetime(Start),-type(X,Y),datetime(eot)) :- blawx_ultimately(-type(X,Y)), blawx_becomes(type(X,Y),datetime(Start)), blawx_not_interrupted(datetime(Start),-type(X,Y),datetime(eot)).\nblawx_during(datetime(bot),-type(X,Y),datetime(eot)) :- blawx_initially(-type(X,Y)), blawx_ultimately(-type(X,Y)), blawx_becomes(-type(X,Y),datetime(Start)), blawx_not_interrupted(datetime(bot),-type(X,Y),datetime(eot)).\nproject_type(construction).\nproject_type(placement).\nproject_type(alteration).\nproject_type(rebuilding).\nproject_type(removal).\nproject_type(decommissioning).\n\naccording_to(sec_3__subsec_2_section,deposit_information,Work,Owner) :- owner(Owner),\nwork(Work),\naccording_to(sec_3__subsec_1_section,blawx_applies,sec_3__subsec_2_section,Work),\nowner_of_work(Owner,Work),\ntype(Work,_).\n\n% BLAWX CHECK DUPLICATES\nholds(sec_3__subsec_2_section,deposit_information,Work,Owner) :- according_to(sec_3__subsec_2_section,deposit_information,Work,Owner).\n\n% BLAWX CHECK DUPLICATES\n deposit_information(Work,Owner) :- holds(sec_3__subsec_2_section,deposit_information,Work,Owner)." - model: blawx.workspace pk: 273 fields: ruledoc: 20 workspace_name: sec_3__subsec_3_section xml_content: ownermust_publish_noticeworkovbefore beginning workobjectownervaluemust publish a notice in accordance with the requirementsworkfed_prov_review_processbooleanovthe proposed workobjectownervaluehas gone through a federal or provincial review processTRUEFALSEownerOwnerworkWorkMWO 3.1MWO 3.3Workis the owner of workOwnerWorkworkis aprojectWorkthe proposed workhas gone through a federal or provincial review processWorkMWO 3.3before beginning workownermust publish a notice in accordance with the requirementsWorkOwnerthe proposed workhas gone through a federal or provincial review processWorkthe proposed workhas gone through a federal or provincial review processWork scasp_encoding: "blawx_attribute(owner,must_publish_notice,work).\nblawx_attribute_nlg(must_publish_notice,ov,\"before beginning work\",\"owner\",\"must publish a notice in accordance with the requirements\").\n:- dynamic must_publish_notice/2.\n#pred must_publish_notice(X,Y) :: 'before beginning work @(X) owner @(Y) must publish a notice in accordance with the requirements'.\n#pred holds(user,must_publish_notice,X,Y) :: 'it is provided as a fact that before beginning work @(X) owner @(Y) must publish a notice in accordance with the requirements'.\n#pred holds(user,-must_publish_notice,X,Y) :: 'it is provided as a fact that it is not the case that before beginning work @(X) owner @(Y) must publish a notice in accordance with the requirements'.\n#pred holds(Z,must_publish_notice,X,Y) :: 'the conclusion in @(Z) that before beginning work @(X) owner @(Y) must publish a notice in accordance with the requirements holds'.\n#pred holds(Z,-must_publish_notice,X,Y) :: 'the conclusion in @(Z) that it is not the case that before beginning work @(X) owner @(Y) must publish a notice in accordance with the requirements holds'.\n#pred according_to(Z,must_publish_notice,X,Y) :: 'according to @(Z), before beginning work @(X) owner @(Y) must publish a notice in accordance with the requirements'.\n#pred according_to(Z,-must_publish_notice,X,Y) :: 'according to @(Z), it is not the case that before beginning work @(X) owner @(Y) must publish a notice in accordance with the requirements'.\n#pred blawx_defeated(Z,must_publish_notice,X,Y) :: 'the conclusion in @(Z) that before beginning work @(X) owner @(Y) must publish a notice in accordance with the requirements is defeated'.\n#pred blawx_defeated(Z,-must_publish_notice,X,Y) :: 'the conclusion in @(Z) that before beginning work @(X) owner @(Y) must publish a notice in accordance with the requirements is defeated'.\n#pred blawx_initially(must_publish_notice(X,Y)) :: 'that before beginning work @(X) owner @(Y) must publish a notice in accordance with the requirements holds initially'.\n#pred blawx_initially(-must_publish_notice(X,Y)) :: 'that it is not the case that before beginning work @(X) owner @(Y) must publish a notice in accordance with the requirements holds initially'.\n#pred blawx_ultimately(must_publish_notice(X,Y)) :: 'that before beginning work @(X) owner @(Y) must publish a notice in accordance with the requirements holds ultimately'.\n#pred blawx_ultimately(-must_publish_notice(X,Y)) :: 'that it is not the case that before beginning work @(X) owner @(Y) must publish a notice in accordance with the requirements holds ultimately'.\n#pred blawx_as_of(must_publish_notice(X,Y),T) :: 'that before beginning work @(X) owner @(Y) must publish a notice in accordance with the requirements holds at @(T)'.\n#pred blawx_as_of(-must_publish_notice(X,Y),T) :: 'that it is not the case that before beginning work @(X) owner @(Y) must publish a notice in accordance with the requirements holds at @(T)'.\n#pred blawx_during(T1,must_publish_notice(X,Y),T2) :: 'that before beginning work @(X) owner @(Y) must publish a notice in accordance with the requirements held between @(T1) and @(T2)'.\n#pred blawx_during(T1,-must_publish_notice(X,Y),T2) :: 'that it is not the case that before beginning work @(X) owner @(Y) must publish a notice in accordance with the requirements held between @(T1) and @(T2)'.\n#pred blawx_becomes(must_publish_notice(X,Y),T) :: 'that before beginning work @(X) owner @(Y) must publish a notice in accordance with the requirements became true at @(T)'.\n#pred blawx_becomes(-must_publish_notice(X,Y),T) :: 'that it is not the case that before beginning work @(X) owner @(Y) must publish a notice in accordance with the requirements became true at @(T)'.\n#pred blawx_not_interrupted(Start,must_publish_notice(X,Y),End) :: 'before beginning work @(X) owner @(Y) must publish a notice in accordance with the requirements remained the case between @(Start) and @(End)'.\n#pred blawx_not_interrupted(Start,-must_publish_notice(X,Y),End) :: 'it is not the case that before beginning work @(X) owner @(Y) must publish a notice in accordance with the requirements remained the case between @(Start) and @(End)'.\nblawx_not_interrupted(datetime(Start),must_publish_notice(X,Y),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(-must_publish_notice(X,Y),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(Start),-must_publish_notice(X,Y),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(must_publish_notice(X,Y),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(bot),must_publish_notice(X,Y),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(-must_publish_notice(X,Y),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(bot),-must_publish_notice(X,Y),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(must_publish_notice(X,Y),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(Start),must_publish_notice(X,Y),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(-must_publish_notice(X,Y),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(Start),-must_publish_notice(X,Y),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(must_publish_notice(X,Y),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(bot),must_publish_notice(X,Y),datetime(eot)) :- blawx_initially(must_publish_notice(X,Y)), blawx_ultimately(must_publish_notice(X,Y)), findall(Time,blawx_becomes(-must_publish_notice(X,Y),datetime(Time)),[]).\nblawx_not_interrupted(datetime(bot),-must_publish_notice(X,Y),datetime(eot)) :- blawx_initially(-must_publish_notice(X,Y)), blawx_ultimately(-must_publish_notice(X,Y)), findall(Time,blawx_becomes(must_publish_notice(X,Y),datetime(Time)),[]).\nblawx_as_of(must_publish_notice(X,Y),datetime(Time)) :- blawx_initially(must_publish_notice(X,Y)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),must_publish_notice(X,Y),datetime(BeforeT)).\nblawx_as_of(must_publish_notice(X,Y),datetime(Time)) :- blawx_becomes(must_publish_notice(X,Y),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),must_publish_notice(X,Y),datetime(Time)).\nblawx_as_of(-must_publish_notice(X,Y),datetime(Time)) :- blawx_initially(-must_publish_notice(X,Y)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),-must_publish_notice(X,Y),datetime(BeforeT)).\nblawx_as_of(-must_publish_notice(X,Y),datetime(Time)) :- blawx_becomes(-must_publish_notice(X,Y),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),-must_publish_notice(X,Y),datetime(Time)).\nblawx_during(datetime(Start),must_publish_notice(X,Y),datetime(End)) :- blawx_becomes(must_publish_notice(X,Y),datetime(Start)), blawx_becomes(-must_publish_notice(X,Y),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),must_publish_notice(X,Y),datetime(End)).\nblawx_during(datetime(bot),must_publish_notice(X,Y),datetime(End)) :- blawx_initially(must_publish_notice(X,Y)), blawx_becomes(-must_publish_notice(X,Y),datetime(End)), blawx_not_interrupted(datetime(bot),must_publish_notice(X,Y),datetime(End)).\nblawx_during(datetime(Start),must_publish_notice(X,Y),datetime(eot)) :- blawx_ultimately(must_publish_notice(X,Y)), blawx_becomes(-must_publish_notice(X,Y),datetime(Start)), blawx_not_interrupted(datetime(Start),must_publish_notice(X,Y),datetime(eot)).\nblawx_during(datetime(bot),must_publish_notice(X,Y),datetime(eot)) :- blawx_initially(must_publish_notice(X,Y)), blawx_ultimately(must_publish_notice(X,Y)), blawx_becomes(-must_publish_notice(X,Y),datetime(Start)), blawx_not_interrupted(datetime(bot),must_publish_notice(X,Y),datetime(eot)).\nblawx_during(datetime(Start),-must_publish_notice(X,Y),datetime(End)) :- blawx_becomes(-must_publish_notice(X,Y),datetime(Start)), blawx_becomes(must_publish_notice(X,Y),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),-must_publish_notice(X,Y),datetime(End)).\nblawx_during(datetime(bot),-must_publish_notice(X,Y),datetime(End)) :- blawx_initially(-must_publish_notice(X,Y)), blawx_becomes(must_publish_notice(X,Y),datetime(End)), blawx_not_interrupted(datetime(bot),-must_publish_notice(X,Y),datetime(End)).\nblawx_during(datetime(Start),-must_publish_notice(X,Y),datetime(eot)) :- blawx_ultimately(-must_publish_notice(X,Y)), blawx_becomes(must_publish_notice(X,Y),datetime(Start)), blawx_not_interrupted(datetime(Start),-must_publish_notice(X,Y),datetime(eot)).\nblawx_during(datetime(bot),-must_publish_notice(X,Y),datetime(eot)) :- blawx_initially(-must_publish_notice(X,Y)), blawx_ultimately(-must_publish_notice(X,Y)), blawx_becomes(-must_publish_notice(X,Y),datetime(Start)), blawx_not_interrupted(datetime(bot),-must_publish_notice(X,Y),datetime(eot)).\nblawx_attribute(work,fed_prov_review_process,boolean).\nblawx_attribute_nlg(fed_prov_review_process,not_applicable,\"the proposed work\",not_applicable,\"has gone through a federal or provincial review process\").\n:- dynamic fed_prov_review_process/1.\n#pred fed_prov_review_process(X) :: 'the proposed work @(X) has gone through a federal or provincial review process'.\n#pred holds(user,fed_prov_review_process,X) :: 'it is provided as a fact that the proposed work @(X) has gone through a federal or provincial review process'.\n#pred holds(user,-fed_prov_review_process,X) :: 'it is provided as a fact that it is not the case that the proposed work @(X) has gone through a federal or provincial review process'.\n#pred holds(Z,fed_prov_review_process,X) :: 'the conclusion in @(Z) that the proposed work @(X) has gone through a federal or provincial review process holds'.\n#pred holds(Z,-fed_prov_review_process,X) :: 'the conclusion in @(Z) that it is not the case that the proposed work @(X) has gone through a federal or provincial review process holds'.\n#pred according_to(Z,fed_prov_review_process,X) :: 'according to @(Z), the proposed work @(X) has gone through a federal or provincial review process'.\n#pred according_to(Z,-fed_prov_review_process,X) :: 'according to @(Z), it is not the case that the proposed work @(X) has gone through a federal or provincial review process'.\n#pred blawx_defeated(Z,fed_prov_review_process,X) :: 'the conclusion in @(Z) that the proposed work @(X) has gone through a federal or provincial review process is defeated'.\n#pred blawx_defeated(Z,-fed_prov_review_process,X) :: 'the conclusion in @(Z) that the proposed work @(X) has gone through a federal or provincial review process is defeated'.\n#pred blawx_initially(fed_prov_review_process(X)) :: 'that the proposed work @(X) has gone through a federal or provincial review process holds initially'.\n#pred blawx_initially(-fed_prov_review_process(X)) :: 'that it is not the case that the proposed work @(X) has gone through a federal or provincial review process holds initially'.\n#pred blawx_ultimately(fed_prov_review_process(X)) :: 'that the proposed work @(X) has gone through a federal or provincial review process holds ultimately'.\n#pred blawx_ultimately(-fed_prov_review_process(X)) :: 'that it is not the case that the proposed work @(X) has gone through a federal or provincial review process holds ultimately'.\n#pred blawx_as_of(fed_prov_review_process(X),T) :: 'that the proposed work @(X) has gone through a federal or provincial review process holds at @(T)'.\n#pred blawx_as_of(-fed_prov_review_process(X),T) :: 'that it is not the case that the proposed work @(X) has gone through a federal or provincial review process holds at @(T)'.\n#pred blawx_during(T1,fed_prov_review_process(X),T2) :: 'that the proposed work @(X) has gone through a federal or provincial review process held between @(T1) and @(T2)'.\n#pred blawx_during(T1,-fed_prov_review_process(X),T2) :: 'that it is not the case that the proposed work @(X) has gone through a federal or provincial review process held between @(T1) and @(T2)'.\n#pred blawx_becomes(fed_prov_review_process(X),T) :: 'that the proposed work @(X) has gone through a federal or provincial review process became true at @(T)'.\n#pred blawx_becomes(-fed_prov_review_process(X),T) :: 'that it is not the case that the proposed work @(X) has gone through a federal or provincial review process became true at @(T)'.\n#pred blawx_not_interrupted(Start,fed_prov_review_process(X),End) :: 'the proposed work @(X) has gone through a federal or provincial review process remained the case between @(Start) and @(End)'.\n#pred blawx_not_interrupted(Start,-fed_prov_review_process(X),End) :: 'it is not the case that the proposed work @(X) has gone through a federal or provincial review process remained the case between @(Start) and @(End)'.\nblawx_not_interrupted(datetime(Start),fed_prov_review_process(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(-fed_prov_review_process(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(Start),-fed_prov_review_process(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(fed_prov_review_process(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(bot),fed_prov_review_process(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(-fed_prov_review_process(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(bot),-fed_prov_review_process(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(fed_prov_review_process(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(Start),fed_prov_review_process(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(-fed_prov_review_process(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(Start),-fed_prov_review_process(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(fed_prov_review_process(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(bot),fed_prov_review_process(X),datetime(eot)) :- blawx_initially(fed_prov_review_process(X)), blawx_ultimately(fed_prov_review_process(X)), findall(Time,blawx_becomes(-fed_prov_review_process(X),datetime(Time)),[]).\nblawx_not_interrupted(datetime(bot),-fed_prov_review_process(X),datetime(eot)) :- blawx_initially(-fed_prov_review_process(X)), blawx_ultimately(-fed_prov_review_process(X)), findall(Time,blawx_becomes(fed_prov_review_process(X),datetime(Time)),[]).\nblawx_as_of(fed_prov_review_process(X),datetime(Time)) :- blawx_initially(fed_prov_review_process(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),fed_prov_review_process(X),datetime(BeforeT)).\nblawx_as_of(fed_prov_review_process(X),datetime(Time)) :- blawx_becomes(fed_prov_review_process(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),fed_prov_review_process(X),datetime(Time)).\nblawx_as_of(-fed_prov_review_process(X),datetime(Time)) :- blawx_initially(-fed_prov_review_process(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),-fed_prov_review_process(X),datetime(BeforeT)).\nblawx_as_of(-fed_prov_review_process(X),datetime(Time)) :- blawx_becomes(-fed_prov_review_process(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),-fed_prov_review_process(X),datetime(Time)).\nblawx_during(datetime(Start),fed_prov_review_process(X),datetime(End)) :- blawx_becomes(fed_prov_review_process(X),datetime(Start)), blawx_becomes(-fed_prov_review_process(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),fed_prov_review_process(X),datetime(End)).\nblawx_during(datetime(bot),fed_prov_review_process(X),datetime(End)) :- blawx_initially(fed_prov_review_process(X)), blawx_becomes(-fed_prov_review_process(X),datetime(End)), blawx_not_interrupted(datetime(bot),fed_prov_review_process(X),datetime(End)).\nblawx_during(datetime(Start),fed_prov_review_process(X),datetime(eot)) :- blawx_ultimately(fed_prov_review_process(X)), blawx_becomes(-fed_prov_review_process(X),datetime(Start)), blawx_not_interrupted(datetime(Start),fed_prov_review_process(X),datetime(eot)).\nblawx_during(datetime(bot),fed_prov_review_process(X),datetime(eot)) :- blawx_initially(fed_prov_review_process(X)), blawx_ultimately(fed_prov_review_process(X)), blawx_becomes(-fed_prov_review_process(X),datetime(Start)), blawx_not_interrupted(datetime(bot),fed_prov_review_process(X),datetime(eot)).\nblawx_during(datetime(Start),-fed_prov_review_process(X),datetime(End)) :- blawx_becomes(-fed_prov_review_process(X),datetime(Start)), blawx_becomes(fed_prov_review_process(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),-fed_prov_review_process(X),datetime(End)).\nblawx_during(datetime(bot),-fed_prov_review_process(X),datetime(End)) :- blawx_initially(-fed_prov_review_process(X)), blawx_becomes(fed_prov_review_process(X),datetime(End)), blawx_not_interrupted(datetime(bot),-fed_prov_review_process(X),datetime(End)).\nblawx_during(datetime(Start),-fed_prov_review_process(X),datetime(eot)) :- blawx_ultimately(-fed_prov_review_process(X)), blawx_becomes(fed_prov_review_process(X),datetime(Start)), blawx_not_interrupted(datetime(Start),-fed_prov_review_process(X),datetime(eot)).\nblawx_during(datetime(bot),-fed_prov_review_process(X),datetime(eot)) :- blawx_initially(-fed_prov_review_process(X)), blawx_ultimately(-fed_prov_review_process(X)), blawx_becomes(-fed_prov_review_process(X),datetime(Start)), blawx_not_interrupted(datetime(bot),-fed_prov_review_process(X),datetime(eot)).\n\naccording_to(sec_3__subsec_3_section,must_publish_notice,Work,Owner) :- owner(Owner),\nwork(Work),\naccording_to(sec_3__subsec_1_section,blawx_applies,sec_3__subsec_3_section,Work),\nowner_of_work(Owner,Work),\ntype(Work,_),\nnot fed_prov_review_process(Work).\n\n% BLAWX CHECK DUPLICATES\nholds(sec_3__subsec_3_section,must_publish_notice,Work,Owner) :- according_to(sec_3__subsec_3_section,must_publish_notice,Work,Owner), not blawx_defeated(sec_3__subsec_3_section,must_publish_notice,Work,Owner).\n\n% BLAWX CHECK DUPLICATES\n must_publish_notice(Work,Owner) :- holds(sec_3__subsec_3_section,must_publish_notice,Work,Owner).\n\n-fed_prov_review_process(Work) :-\nnot fed_prov_review_process(Work)." - model: blawx.workspace pk: 274 fields: ruledoc: 20 workspace_name: sec_3__subsec_3__span_exception_section xml_content: TRUEFALSEownerOwnerworkWorkMWO 3.1MWO 3.3Workis the owner of workOwnerWorkworkis aprojectWorkthe proposed workhas gone through a federal or provincial review processWorkMWO 3.3MWO 3.3before beginning workownermust publish a notice in accordance with the requirementsWorkOwner scasp_encoding: "according_to(sec_3__subsec_3_section,blawx_defeated,sec_3__subsec_3_section,must_publish_notice,Work,Owner) :- owner(Owner),\nwork(Work),\naccording_to(sec_3__subsec_1_section,blawx_applies,sec_3__subsec_3_section,Work),\nowner_of_work(Owner,Work),\ntype(Work,_),\nfed_prov_review_process(Work).\n\n% BLAWX CHECK DUPLICATES\nholds(sec_3__subsec_3_section,blawx_defeated,sec_3__subsec_3_section,must_publish_notice,Work,Owner) :- according_to(sec_3__subsec_3_section,blawx_defeated,sec_3__subsec_3_section,must_publish_notice,Work,Owner), not blawx_defeated(sec_3__subsec_3_section,blawx_defeated,sec_3__subsec_3_section,must_publish_notice,Work,Owner).\n\n% BLAWX CHECK DUPLICATES\n blawx_defeated(sec_3__subsec_3_section,must_publish_notice,Work,Owner) :- holds(sec_3__subsec_3_section,blawx_defeated,sec_3__subsec_3_section,must_publish_notice,Work,Owner)." - model: blawx.workspace pk: 275 fields: ruledoc: 20 workspace_name: sec_12_section xml_content: '' scasp_encoding: '' - model: blawx.workspace pk: 276 fields: ruledoc: 20 workspace_name: sec_12__subsec_1__para_c_section xml_content: workhorizontal_extension_beyond_5mbooleanovworkobject's attribute name isvalueextends horizontally more than 5 m into the navigable waterFALSEFALSEworkWorkworkextends horizontally more than 5 m into the navigable waterWorkMWO 12.1.cworkmeets the respective criteria for this rule sectionWork scasp_encoding: "blawx_attribute(work,horizontal_extension_beyond_5m,boolean).\nblawx_attribute_nlg(horizontal_extension_beyond_5m,not_applicable,\"work\",not_applicable,\"extends horizontally more than 5 m into the navigable water\").\n:- dynamic horizontal_extension_beyond_5m/1.\n#pred horizontal_extension_beyond_5m(X) :: 'work @(X) extends horizontally more than 5 m into the navigable water'.\n#pred holds(user,horizontal_extension_beyond_5m,X) :: 'it is provided as a fact that work @(X) extends horizontally more than 5 m into the navigable water'.\n#pred holds(user,-horizontal_extension_beyond_5m,X) :: 'it is provided as a fact that it is not the case that work @(X) extends horizontally more than 5 m into the navigable water'.\n#pred holds(Z,horizontal_extension_beyond_5m,X) :: 'the conclusion in @(Z) that work @(X) extends horizontally more than 5 m into the navigable water holds'.\n#pred holds(Z,-horizontal_extension_beyond_5m,X) :: 'the conclusion in @(Z) that it is not the case that work @(X) extends horizontally more than 5 m into the navigable water holds'.\n#pred according_to(Z,horizontal_extension_beyond_5m,X) :: 'according to @(Z), work @(X) extends horizontally more than 5 m into the navigable water'.\n#pred according_to(Z,-horizontal_extension_beyond_5m,X) :: 'according to @(Z), it is not the case that work @(X) extends horizontally more than 5 m into the navigable water'.\n#pred blawx_defeated(Z,horizontal_extension_beyond_5m,X) :: 'the conclusion in @(Z) that work @(X) extends horizontally more than 5 m into the navigable water is defeated'.\n#pred blawx_defeated(Z,-horizontal_extension_beyond_5m,X) :: 'the conclusion in @(Z) that work @(X) extends horizontally more than 5 m into the navigable water is defeated'.\n#pred blawx_initially(horizontal_extension_beyond_5m(X)) :: 'that work @(X) extends horizontally more than 5 m into the navigable water holds initially'.\n#pred blawx_initially(-horizontal_extension_beyond_5m(X)) :: 'that it is not the case that work @(X) extends horizontally more than 5 m into the navigable water holds initially'.\n#pred blawx_ultimately(horizontal_extension_beyond_5m(X)) :: 'that work @(X) extends horizontally more than 5 m into the navigable water holds ultimately'.\n#pred blawx_ultimately(-horizontal_extension_beyond_5m(X)) :: 'that it is not the case that work @(X) extends horizontally more than 5 m into the navigable water holds ultimately'.\n#pred blawx_as_of(horizontal_extension_beyond_5m(X),T) :: 'that work @(X) extends horizontally more than 5 m into the navigable water holds at @(T)'.\n#pred blawx_as_of(-horizontal_extension_beyond_5m(X),T) :: 'that it is not the case that work @(X) extends horizontally more than 5 m into the navigable water holds at @(T)'.\n#pred blawx_during(T1,horizontal_extension_beyond_5m(X),T2) :: 'that work @(X) extends horizontally more than 5 m into the navigable water held between @(T1) and @(T2)'.\n#pred blawx_during(T1,-horizontal_extension_beyond_5m(X),T2) :: 'that it is not the case that work @(X) extends horizontally more than 5 m into the navigable water held between @(T1) and @(T2)'.\n#pred blawx_becomes(horizontal_extension_beyond_5m(X),T) :: 'that work @(X) extends horizontally more than 5 m into the navigable water became true at @(T)'.\n#pred blawx_becomes(-horizontal_extension_beyond_5m(X),T) :: 'that it is not the case that work @(X) extends horizontally more than 5 m into the navigable water became true at @(T)'.\n#pred blawx_not_interrupted(Start,horizontal_extension_beyond_5m(X),End) :: 'work @(X) extends horizontally more than 5 m into the navigable water remained the case between @(Start) and @(End)'.\n#pred blawx_not_interrupted(Start,-horizontal_extension_beyond_5m(X),End) :: 'it is not the case that work @(X) extends horizontally more than 5 m into the navigable water remained the case between @(Start) and @(End)'.\nblawx_not_interrupted(datetime(Start),horizontal_extension_beyond_5m(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(-horizontal_extension_beyond_5m(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(Start),-horizontal_extension_beyond_5m(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(horizontal_extension_beyond_5m(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(bot),horizontal_extension_beyond_5m(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(-horizontal_extension_beyond_5m(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(bot),-horizontal_extension_beyond_5m(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(horizontal_extension_beyond_5m(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(Start),horizontal_extension_beyond_5m(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(-horizontal_extension_beyond_5m(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(Start),-horizontal_extension_beyond_5m(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(horizontal_extension_beyond_5m(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(bot),horizontal_extension_beyond_5m(X),datetime(eot)) :- blawx_initially(horizontal_extension_beyond_5m(X)), blawx_ultimately(horizontal_extension_beyond_5m(X)), findall(Time,blawx_becomes(-horizontal_extension_beyond_5m(X),datetime(Time)),[]).\nblawx_not_interrupted(datetime(bot),-horizontal_extension_beyond_5m(X),datetime(eot)) :- blawx_initially(-horizontal_extension_beyond_5m(X)), blawx_ultimately(-horizontal_extension_beyond_5m(X)), findall(Time,blawx_becomes(horizontal_extension_beyond_5m(X),datetime(Time)),[]).\nblawx_as_of(horizontal_extension_beyond_5m(X),datetime(Time)) :- blawx_initially(horizontal_extension_beyond_5m(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),horizontal_extension_beyond_5m(X),datetime(BeforeT)).\nblawx_as_of(horizontal_extension_beyond_5m(X),datetime(Time)) :- blawx_becomes(horizontal_extension_beyond_5m(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),horizontal_extension_beyond_5m(X),datetime(Time)).\nblawx_as_of(-horizontal_extension_beyond_5m(X),datetime(Time)) :- blawx_initially(-horizontal_extension_beyond_5m(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),-horizontal_extension_beyond_5m(X),datetime(BeforeT)).\nblawx_as_of(-horizontal_extension_beyond_5m(X),datetime(Time)) :- blawx_becomes(-horizontal_extension_beyond_5m(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),-horizontal_extension_beyond_5m(X),datetime(Time)).\nblawx_during(datetime(Start),horizontal_extension_beyond_5m(X),datetime(End)) :- blawx_becomes(horizontal_extension_beyond_5m(X),datetime(Start)), blawx_becomes(-horizontal_extension_beyond_5m(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),horizontal_extension_beyond_5m(X),datetime(End)).\nblawx_during(datetime(bot),horizontal_extension_beyond_5m(X),datetime(End)) :- blawx_initially(horizontal_extension_beyond_5m(X)), blawx_becomes(-horizontal_extension_beyond_5m(X),datetime(End)), blawx_not_interrupted(datetime(bot),horizontal_extension_beyond_5m(X),datetime(End)).\nblawx_during(datetime(Start),horizontal_extension_beyond_5m(X),datetime(eot)) :- blawx_ultimately(horizontal_extension_beyond_5m(X)), blawx_becomes(-horizontal_extension_beyond_5m(X),datetime(Start)), blawx_not_interrupted(datetime(Start),horizontal_extension_beyond_5m(X),datetime(eot)).\nblawx_during(datetime(bot),horizontal_extension_beyond_5m(X),datetime(eot)) :- blawx_initially(horizontal_extension_beyond_5m(X)), blawx_ultimately(horizontal_extension_beyond_5m(X)), blawx_becomes(-horizontal_extension_beyond_5m(X),datetime(Start)), blawx_not_interrupted(datetime(bot),horizontal_extension_beyond_5m(X),datetime(eot)).\nblawx_during(datetime(Start),-horizontal_extension_beyond_5m(X),datetime(End)) :- blawx_becomes(-horizontal_extension_beyond_5m(X),datetime(Start)), blawx_becomes(horizontal_extension_beyond_5m(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),-horizontal_extension_beyond_5m(X),datetime(End)).\nblawx_during(datetime(bot),-horizontal_extension_beyond_5m(X),datetime(End)) :- blawx_initially(-horizontal_extension_beyond_5m(X)), blawx_becomes(horizontal_extension_beyond_5m(X),datetime(End)), blawx_not_interrupted(datetime(bot),-horizontal_extension_beyond_5m(X),datetime(End)).\nblawx_during(datetime(Start),-horizontal_extension_beyond_5m(X),datetime(eot)) :- blawx_ultimately(-horizontal_extension_beyond_5m(X)), blawx_becomes(horizontal_extension_beyond_5m(X),datetime(Start)), blawx_not_interrupted(datetime(Start),-horizontal_extension_beyond_5m(X),datetime(eot)).\nblawx_during(datetime(bot),-horizontal_extension_beyond_5m(X),datetime(eot)) :- blawx_initially(-horizontal_extension_beyond_5m(X)), blawx_ultimately(-horizontal_extension_beyond_5m(X)), blawx_becomes(-horizontal_extension_beyond_5m(X),datetime(Start)), blawx_not_interrupted(datetime(bot),-horizontal_extension_beyond_5m(X),datetime(eot)).\n\naccording_to(sec_12__subsec_1__para_c_section,meets_respective_rule_criteria,Work) :- work(Work),\nnot horizontal_extension_beyond_5m(Work).\n\n% BLAWX CHECK DUPLICATES\nholds(sec_12__subsec_1__para_c_section,meets_respective_rule_criteria,Work) :- according_to(sec_12__subsec_1__para_c_section,meets_respective_rule_criteria,Work).\n\n% BLAWX CHECK DUPLICATES\n meets_respective_rule_criteria(Work) :- holds(sec_12__subsec_1__para_c_section,meets_respective_rule_criteria,Work)." - model: blawx.workspace pk: 277 fields: ruledoc: 20 workspace_name: sec_12__subsec_1__para_d_section xml_content: workover_one_third_width_of_nav_waterbooleanovworkobject's attribute name isvalueoccupies more than one-third of the width of the navigable waterFALSEFALSEworkWorkworkoccupies more than one-third of the width of the navigable waterWorkMWO 12.1.dworkmeets the respective criteria for this rule sectionWork scasp_encoding: "blawx_attribute(work,over_one_third_width_of_nav_water,boolean).\nblawx_attribute_nlg(over_one_third_width_of_nav_water,not_applicable,\"work\",not_applicable,\"occupies more than one-third of the width of the navigable water\").\n:- dynamic over_one_third_width_of_nav_water/1.\n#pred over_one_third_width_of_nav_water(X) :: 'work @(X) occupies more than one-third of the width of the navigable water'.\n#pred holds(user,over_one_third_width_of_nav_water,X) :: 'it is provided as a fact that work @(X) occupies more than one-third of the width of the navigable water'.\n#pred holds(user,-over_one_third_width_of_nav_water,X) :: 'it is provided as a fact that it is not the case that work @(X) occupies more than one-third of the width of the navigable water'.\n#pred holds(Z,over_one_third_width_of_nav_water,X) :: 'the conclusion in @(Z) that work @(X) occupies more than one-third of the width of the navigable water holds'.\n#pred holds(Z,-over_one_third_width_of_nav_water,X) :: 'the conclusion in @(Z) that it is not the case that work @(X) occupies more than one-third of the width of the navigable water holds'.\n#pred according_to(Z,over_one_third_width_of_nav_water,X) :: 'according to @(Z), work @(X) occupies more than one-third of the width of the navigable water'.\n#pred according_to(Z,-over_one_third_width_of_nav_water,X) :: 'according to @(Z), it is not the case that work @(X) occupies more than one-third of the width of the navigable water'.\n#pred blawx_defeated(Z,over_one_third_width_of_nav_water,X) :: 'the conclusion in @(Z) that work @(X) occupies more than one-third of the width of the navigable water is defeated'.\n#pred blawx_defeated(Z,-over_one_third_width_of_nav_water,X) :: 'the conclusion in @(Z) that work @(X) occupies more than one-third of the width of the navigable water is defeated'.\n#pred blawx_initially(over_one_third_width_of_nav_water(X)) :: 'that work @(X) occupies more than one-third of the width of the navigable water holds initially'.\n#pred blawx_initially(-over_one_third_width_of_nav_water(X)) :: 'that it is not the case that work @(X) occupies more than one-third of the width of the navigable water holds initially'.\n#pred blawx_ultimately(over_one_third_width_of_nav_water(X)) :: 'that work @(X) occupies more than one-third of the width of the navigable water holds ultimately'.\n#pred blawx_ultimately(-over_one_third_width_of_nav_water(X)) :: 'that it is not the case that work @(X) occupies more than one-third of the width of the navigable water holds ultimately'.\n#pred blawx_as_of(over_one_third_width_of_nav_water(X),T) :: 'that work @(X) occupies more than one-third of the width of the navigable water holds at @(T)'.\n#pred blawx_as_of(-over_one_third_width_of_nav_water(X),T) :: 'that it is not the case that work @(X) occupies more than one-third of the width of the navigable water holds at @(T)'.\n#pred blawx_during(T1,over_one_third_width_of_nav_water(X),T2) :: 'that work @(X) occupies more than one-third of the width of the navigable water held between @(T1) and @(T2)'.\n#pred blawx_during(T1,-over_one_third_width_of_nav_water(X),T2) :: 'that it is not the case that work @(X) occupies more than one-third of the width of the navigable water held between @(T1) and @(T2)'.\n#pred blawx_becomes(over_one_third_width_of_nav_water(X),T) :: 'that work @(X) occupies more than one-third of the width of the navigable water became true at @(T)'.\n#pred blawx_becomes(-over_one_third_width_of_nav_water(X),T) :: 'that it is not the case that work @(X) occupies more than one-third of the width of the navigable water became true at @(T)'.\n#pred blawx_not_interrupted(Start,over_one_third_width_of_nav_water(X),End) :: 'work @(X) occupies more than one-third of the width of the navigable water remained the case between @(Start) and @(End)'.\n#pred blawx_not_interrupted(Start,-over_one_third_width_of_nav_water(X),End) :: 'it is not the case that work @(X) occupies more than one-third of the width of the navigable water remained the case between @(Start) and @(End)'.\nblawx_not_interrupted(datetime(Start),over_one_third_width_of_nav_water(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(-over_one_third_width_of_nav_water(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(Start),-over_one_third_width_of_nav_water(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(over_one_third_width_of_nav_water(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(bot),over_one_third_width_of_nav_water(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(-over_one_third_width_of_nav_water(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(bot),-over_one_third_width_of_nav_water(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(over_one_third_width_of_nav_water(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(Start),over_one_third_width_of_nav_water(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(-over_one_third_width_of_nav_water(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(Start),-over_one_third_width_of_nav_water(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(over_one_third_width_of_nav_water(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(bot),over_one_third_width_of_nav_water(X),datetime(eot)) :- blawx_initially(over_one_third_width_of_nav_water(X)), blawx_ultimately(over_one_third_width_of_nav_water(X)), findall(Time,blawx_becomes(-over_one_third_width_of_nav_water(X),datetime(Time)),[]).\nblawx_not_interrupted(datetime(bot),-over_one_third_width_of_nav_water(X),datetime(eot)) :- blawx_initially(-over_one_third_width_of_nav_water(X)), blawx_ultimately(-over_one_third_width_of_nav_water(X)), findall(Time,blawx_becomes(over_one_third_width_of_nav_water(X),datetime(Time)),[]).\nblawx_as_of(over_one_third_width_of_nav_water(X),datetime(Time)) :- blawx_initially(over_one_third_width_of_nav_water(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),over_one_third_width_of_nav_water(X),datetime(BeforeT)).\nblawx_as_of(over_one_third_width_of_nav_water(X),datetime(Time)) :- blawx_becomes(over_one_third_width_of_nav_water(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),over_one_third_width_of_nav_water(X),datetime(Time)).\nblawx_as_of(-over_one_third_width_of_nav_water(X),datetime(Time)) :- blawx_initially(-over_one_third_width_of_nav_water(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),-over_one_third_width_of_nav_water(X),datetime(BeforeT)).\nblawx_as_of(-over_one_third_width_of_nav_water(X),datetime(Time)) :- blawx_becomes(-over_one_third_width_of_nav_water(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),-over_one_third_width_of_nav_water(X),datetime(Time)).\nblawx_during(datetime(Start),over_one_third_width_of_nav_water(X),datetime(End)) :- blawx_becomes(over_one_third_width_of_nav_water(X),datetime(Start)), blawx_becomes(-over_one_third_width_of_nav_water(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),over_one_third_width_of_nav_water(X),datetime(End)).\nblawx_during(datetime(bot),over_one_third_width_of_nav_water(X),datetime(End)) :- blawx_initially(over_one_third_width_of_nav_water(X)), blawx_becomes(-over_one_third_width_of_nav_water(X),datetime(End)), blawx_not_interrupted(datetime(bot),over_one_third_width_of_nav_water(X),datetime(End)).\nblawx_during(datetime(Start),over_one_third_width_of_nav_water(X),datetime(eot)) :- blawx_ultimately(over_one_third_width_of_nav_water(X)), blawx_becomes(-over_one_third_width_of_nav_water(X),datetime(Start)), blawx_not_interrupted(datetime(Start),over_one_third_width_of_nav_water(X),datetime(eot)).\nblawx_during(datetime(bot),over_one_third_width_of_nav_water(X),datetime(eot)) :- blawx_initially(over_one_third_width_of_nav_water(X)), blawx_ultimately(over_one_third_width_of_nav_water(X)), blawx_becomes(-over_one_third_width_of_nav_water(X),datetime(Start)), blawx_not_interrupted(datetime(bot),over_one_third_width_of_nav_water(X),datetime(eot)).\nblawx_during(datetime(Start),-over_one_third_width_of_nav_water(X),datetime(End)) :- blawx_becomes(-over_one_third_width_of_nav_water(X),datetime(Start)), blawx_becomes(over_one_third_width_of_nav_water(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),-over_one_third_width_of_nav_water(X),datetime(End)).\nblawx_during(datetime(bot),-over_one_third_width_of_nav_water(X),datetime(End)) :- blawx_initially(-over_one_third_width_of_nav_water(X)), blawx_becomes(over_one_third_width_of_nav_water(X),datetime(End)), blawx_not_interrupted(datetime(bot),-over_one_third_width_of_nav_water(X),datetime(End)).\nblawx_during(datetime(Start),-over_one_third_width_of_nav_water(X),datetime(eot)) :- blawx_ultimately(-over_one_third_width_of_nav_water(X)), blawx_becomes(over_one_third_width_of_nav_water(X),datetime(Start)), blawx_not_interrupted(datetime(Start),-over_one_third_width_of_nav_water(X),datetime(eot)).\nblawx_during(datetime(bot),-over_one_third_width_of_nav_water(X),datetime(eot)) :- blawx_initially(-over_one_third_width_of_nav_water(X)), blawx_ultimately(-over_one_third_width_of_nav_water(X)), blawx_becomes(-over_one_third_width_of_nav_water(X),datetime(Start)), blawx_not_interrupted(datetime(bot),-over_one_third_width_of_nav_water(X),datetime(eot)).\n\naccording_to(sec_12__subsec_1__para_d_section,meets_respective_rule_criteria,Work) :- work(Work),\nnot over_one_third_width_of_nav_water(Work).\n\n% BLAWX CHECK DUPLICATES\nholds(sec_12__subsec_1__para_d_section,meets_respective_rule_criteria,Work) :- according_to(sec_12__subsec_1__para_d_section,meets_respective_rule_criteria,Work).\n\n% BLAWX CHECK DUPLICATES\n meets_respective_rule_criteria(Work) :- holds(sec_12__subsec_1__para_d_section,meets_respective_rule_criteria,Work)." - model: blawx.workspace pk: 278 fields: ruledoc: 20 workspace_name: sec_12__subsec_1__para_e_section xml_content: workassociated_with_existing_or_proposed_workbooleanovworkobjectis associated with an existing or proposed workvalueis associated with an existing or proposed work that is NOT a minor workFALSEFALSEworkWorkworkis associated with an existing or proposed work that is NOT a minor workWorkMWO 12.1.eworkmeets the respective criteria for this rule sectionWork scasp_encoding: "blawx_attribute(work,associated_with_existing_or_proposed_work,boolean).\nblawx_attribute_nlg(associated_with_existing_or_proposed_work,not_applicable,\"work\",not_applicable,\"is associated with an existing or proposed work that is NOT a minor work\").\n:- dynamic associated_with_existing_or_proposed_work/1.\n#pred associated_with_existing_or_proposed_work(X) :: 'work @(X) is associated with an existing or proposed work that is NOT a minor work'.\n#pred holds(user,associated_with_existing_or_proposed_work,X) :: 'it is provided as a fact that work @(X) is associated with an existing or proposed work that is NOT a minor work'.\n#pred holds(user,-associated_with_existing_or_proposed_work,X) :: 'it is provided as a fact that it is not the case that work @(X) is associated with an existing or proposed work that is NOT a minor work'.\n#pred holds(Z,associated_with_existing_or_proposed_work,X) :: 'the conclusion in @(Z) that work @(X) is associated with an existing or proposed work that is NOT a minor work holds'.\n#pred holds(Z,-associated_with_existing_or_proposed_work,X) :: 'the conclusion in @(Z) that it is not the case that work @(X) is associated with an existing or proposed work that is NOT a minor work holds'.\n#pred according_to(Z,associated_with_existing_or_proposed_work,X) :: 'according to @(Z), work @(X) is associated with an existing or proposed work that is NOT a minor work'.\n#pred according_to(Z,-associated_with_existing_or_proposed_work,X) :: 'according to @(Z), it is not the case that work @(X) is associated with an existing or proposed work that is NOT a minor work'.\n#pred blawx_defeated(Z,associated_with_existing_or_proposed_work,X) :: 'the conclusion in @(Z) that work @(X) is associated with an existing or proposed work that is NOT a minor work is defeated'.\n#pred blawx_defeated(Z,-associated_with_existing_or_proposed_work,X) :: 'the conclusion in @(Z) that work @(X) is associated with an existing or proposed work that is NOT a minor work is defeated'.\n#pred blawx_initially(associated_with_existing_or_proposed_work(X)) :: 'that work @(X) is associated with an existing or proposed work that is NOT a minor work holds initially'.\n#pred blawx_initially(-associated_with_existing_or_proposed_work(X)) :: 'that it is not the case that work @(X) is associated with an existing or proposed work that is NOT a minor work holds initially'.\n#pred blawx_ultimately(associated_with_existing_or_proposed_work(X)) :: 'that work @(X) is associated with an existing or proposed work that is NOT a minor work holds ultimately'.\n#pred blawx_ultimately(-associated_with_existing_or_proposed_work(X)) :: 'that it is not the case that work @(X) is associated with an existing or proposed work that is NOT a minor work holds ultimately'.\n#pred blawx_as_of(associated_with_existing_or_proposed_work(X),T) :: 'that work @(X) is associated with an existing or proposed work that is NOT a minor work holds at @(T)'.\n#pred blawx_as_of(-associated_with_existing_or_proposed_work(X),T) :: 'that it is not the case that work @(X) is associated with an existing or proposed work that is NOT a minor work holds at @(T)'.\n#pred blawx_during(T1,associated_with_existing_or_proposed_work(X),T2) :: 'that work @(X) is associated with an existing or proposed work that is NOT a minor work held between @(T1) and @(T2)'.\n#pred blawx_during(T1,-associated_with_existing_or_proposed_work(X),T2) :: 'that it is not the case that work @(X) is associated with an existing or proposed work that is NOT a minor work held between @(T1) and @(T2)'.\n#pred blawx_becomes(associated_with_existing_or_proposed_work(X),T) :: 'that work @(X) is associated with an existing or proposed work that is NOT a minor work became true at @(T)'.\n#pred blawx_becomes(-associated_with_existing_or_proposed_work(X),T) :: 'that it is not the case that work @(X) is associated with an existing or proposed work that is NOT a minor work became true at @(T)'.\n#pred blawx_not_interrupted(Start,associated_with_existing_or_proposed_work(X),End) :: 'work @(X) is associated with an existing or proposed work that is NOT a minor work remained the case between @(Start) and @(End)'.\n#pred blawx_not_interrupted(Start,-associated_with_existing_or_proposed_work(X),End) :: 'it is not the case that work @(X) is associated with an existing or proposed work that is NOT a minor work remained the case between @(Start) and @(End)'.\nblawx_not_interrupted(datetime(Start),associated_with_existing_or_proposed_work(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(-associated_with_existing_or_proposed_work(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(Start),-associated_with_existing_or_proposed_work(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(associated_with_existing_or_proposed_work(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(bot),associated_with_existing_or_proposed_work(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(-associated_with_existing_or_proposed_work(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(bot),-associated_with_existing_or_proposed_work(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(associated_with_existing_or_proposed_work(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(Start),associated_with_existing_or_proposed_work(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(-associated_with_existing_or_proposed_work(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(Start),-associated_with_existing_or_proposed_work(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(associated_with_existing_or_proposed_work(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(bot),associated_with_existing_or_proposed_work(X),datetime(eot)) :- blawx_initially(associated_with_existing_or_proposed_work(X)), blawx_ultimately(associated_with_existing_or_proposed_work(X)), findall(Time,blawx_becomes(-associated_with_existing_or_proposed_work(X),datetime(Time)),[]).\nblawx_not_interrupted(datetime(bot),-associated_with_existing_or_proposed_work(X),datetime(eot)) :- blawx_initially(-associated_with_existing_or_proposed_work(X)), blawx_ultimately(-associated_with_existing_or_proposed_work(X)), findall(Time,blawx_becomes(associated_with_existing_or_proposed_work(X),datetime(Time)),[]).\nblawx_as_of(associated_with_existing_or_proposed_work(X),datetime(Time)) :- blawx_initially(associated_with_existing_or_proposed_work(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),associated_with_existing_or_proposed_work(X),datetime(BeforeT)).\nblawx_as_of(associated_with_existing_or_proposed_work(X),datetime(Time)) :- blawx_becomes(associated_with_existing_or_proposed_work(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),associated_with_existing_or_proposed_work(X),datetime(Time)).\nblawx_as_of(-associated_with_existing_or_proposed_work(X),datetime(Time)) :- blawx_initially(-associated_with_existing_or_proposed_work(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),-associated_with_existing_or_proposed_work(X),datetime(BeforeT)).\nblawx_as_of(-associated_with_existing_or_proposed_work(X),datetime(Time)) :- blawx_becomes(-associated_with_existing_or_proposed_work(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),-associated_with_existing_or_proposed_work(X),datetime(Time)).\nblawx_during(datetime(Start),associated_with_existing_or_proposed_work(X),datetime(End)) :- blawx_becomes(associated_with_existing_or_proposed_work(X),datetime(Start)), blawx_becomes(-associated_with_existing_or_proposed_work(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),associated_with_existing_or_proposed_work(X),datetime(End)).\nblawx_during(datetime(bot),associated_with_existing_or_proposed_work(X),datetime(End)) :- blawx_initially(associated_with_existing_or_proposed_work(X)), blawx_becomes(-associated_with_existing_or_proposed_work(X),datetime(End)), blawx_not_interrupted(datetime(bot),associated_with_existing_or_proposed_work(X),datetime(End)).\nblawx_during(datetime(Start),associated_with_existing_or_proposed_work(X),datetime(eot)) :- blawx_ultimately(associated_with_existing_or_proposed_work(X)), blawx_becomes(-associated_with_existing_or_proposed_work(X),datetime(Start)), blawx_not_interrupted(datetime(Start),associated_with_existing_or_proposed_work(X),datetime(eot)).\nblawx_during(datetime(bot),associated_with_existing_or_proposed_work(X),datetime(eot)) :- blawx_initially(associated_with_existing_or_proposed_work(X)), blawx_ultimately(associated_with_existing_or_proposed_work(X)), blawx_becomes(-associated_with_existing_or_proposed_work(X),datetime(Start)), blawx_not_interrupted(datetime(bot),associated_with_existing_or_proposed_work(X),datetime(eot)).\nblawx_during(datetime(Start),-associated_with_existing_or_proposed_work(X),datetime(End)) :- blawx_becomes(-associated_with_existing_or_proposed_work(X),datetime(Start)), blawx_becomes(associated_with_existing_or_proposed_work(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),-associated_with_existing_or_proposed_work(X),datetime(End)).\nblawx_during(datetime(bot),-associated_with_existing_or_proposed_work(X),datetime(End)) :- blawx_initially(-associated_with_existing_or_proposed_work(X)), blawx_becomes(associated_with_existing_or_proposed_work(X),datetime(End)), blawx_not_interrupted(datetime(bot),-associated_with_existing_or_proposed_work(X),datetime(End)).\nblawx_during(datetime(Start),-associated_with_existing_or_proposed_work(X),datetime(eot)) :- blawx_ultimately(-associated_with_existing_or_proposed_work(X)), blawx_becomes(associated_with_existing_or_proposed_work(X),datetime(Start)), blawx_not_interrupted(datetime(Start),-associated_with_existing_or_proposed_work(X),datetime(eot)).\nblawx_during(datetime(bot),-associated_with_existing_or_proposed_work(X),datetime(eot)) :- blawx_initially(-associated_with_existing_or_proposed_work(X)), blawx_ultimately(-associated_with_existing_or_proposed_work(X)), blawx_becomes(-associated_with_existing_or_proposed_work(X),datetime(Start)), blawx_not_interrupted(datetime(bot),-associated_with_existing_or_proposed_work(X),datetime(eot)).\n\naccording_to(sec_12__subsec_1__para_e_section,meets_respective_rule_criteria,Work) :- work(Work),\nnot associated_with_existing_or_proposed_work(Work).\n\n% BLAWX CHECK DUPLICATES\nholds(sec_12__subsec_1__para_e_section,meets_respective_rule_criteria,Work) :- according_to(sec_12__subsec_1__para_e_section,meets_respective_rule_criteria,Work).\n\n% BLAWX CHECK DUPLICATES\n meets_respective_rule_criteria(Work) :- holds(sec_12__subsec_1__para_e_section,meets_respective_rule_criteria,Work)." - model: blawx.workspace pk: 279 fields: ruledoc: 20 workspace_name: sec_12__subsec_1__para_f_section xml_content: workincludes_groynes_deflect_currentsbooleanovworkobject's attribute name isvalueincludes groynes or other structures to deflect the currentFALSEFALSEworkWorkworkincludes groynes or other structures to deflect the currentWorkMWO 12.1.fworkmeets the respective criteria for this rule sectionWork scasp_encoding: "blawx_attribute(work,includes_groynes_deflect_currents,boolean).\nblawx_attribute_nlg(includes_groynes_deflect_currents,not_applicable,\"work\",not_applicable,\"includes groynes or other structures to deflect the current\").\n:- dynamic includes_groynes_deflect_currents/1.\n#pred includes_groynes_deflect_currents(X) :: 'work @(X) includes groynes or other structures to deflect the current'.\n#pred holds(user,includes_groynes_deflect_currents,X) :: 'it is provided as a fact that work @(X) includes groynes or other structures to deflect the current'.\n#pred holds(user,-includes_groynes_deflect_currents,X) :: 'it is provided as a fact that it is not the case that work @(X) includes groynes or other structures to deflect the current'.\n#pred holds(Z,includes_groynes_deflect_currents,X) :: 'the conclusion in @(Z) that work @(X) includes groynes or other structures to deflect the current holds'.\n#pred holds(Z,-includes_groynes_deflect_currents,X) :: 'the conclusion in @(Z) that it is not the case that work @(X) includes groynes or other structures to deflect the current holds'.\n#pred according_to(Z,includes_groynes_deflect_currents,X) :: 'according to @(Z), work @(X) includes groynes or other structures to deflect the current'.\n#pred according_to(Z,-includes_groynes_deflect_currents,X) :: 'according to @(Z), it is not the case that work @(X) includes groynes or other structures to deflect the current'.\n#pred blawx_defeated(Z,includes_groynes_deflect_currents,X) :: 'the conclusion in @(Z) that work @(X) includes groynes or other structures to deflect the current is defeated'.\n#pred blawx_defeated(Z,-includes_groynes_deflect_currents,X) :: 'the conclusion in @(Z) that work @(X) includes groynes or other structures to deflect the current is defeated'.\n#pred blawx_initially(includes_groynes_deflect_currents(X)) :: 'that work @(X) includes groynes or other structures to deflect the current holds initially'.\n#pred blawx_initially(-includes_groynes_deflect_currents(X)) :: 'that it is not the case that work @(X) includes groynes or other structures to deflect the current holds initially'.\n#pred blawx_ultimately(includes_groynes_deflect_currents(X)) :: 'that work @(X) includes groynes or other structures to deflect the current holds ultimately'.\n#pred blawx_ultimately(-includes_groynes_deflect_currents(X)) :: 'that it is not the case that work @(X) includes groynes or other structures to deflect the current holds ultimately'.\n#pred blawx_as_of(includes_groynes_deflect_currents(X),T) :: 'that work @(X) includes groynes or other structures to deflect the current holds at @(T)'.\n#pred blawx_as_of(-includes_groynes_deflect_currents(X),T) :: 'that it is not the case that work @(X) includes groynes or other structures to deflect the current holds at @(T)'.\n#pred blawx_during(T1,includes_groynes_deflect_currents(X),T2) :: 'that work @(X) includes groynes or other structures to deflect the current held between @(T1) and @(T2)'.\n#pred blawx_during(T1,-includes_groynes_deflect_currents(X),T2) :: 'that it is not the case that work @(X) includes groynes or other structures to deflect the current held between @(T1) and @(T2)'.\n#pred blawx_becomes(includes_groynes_deflect_currents(X),T) :: 'that work @(X) includes groynes or other structures to deflect the current became true at @(T)'.\n#pred blawx_becomes(-includes_groynes_deflect_currents(X),T) :: 'that it is not the case that work @(X) includes groynes or other structures to deflect the current became true at @(T)'.\n#pred blawx_not_interrupted(Start,includes_groynes_deflect_currents(X),End) :: 'work @(X) includes groynes or other structures to deflect the current remained the case between @(Start) and @(End)'.\n#pred blawx_not_interrupted(Start,-includes_groynes_deflect_currents(X),End) :: 'it is not the case that work @(X) includes groynes or other structures to deflect the current remained the case between @(Start) and @(End)'.\nblawx_not_interrupted(datetime(Start),includes_groynes_deflect_currents(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(-includes_groynes_deflect_currents(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(Start),-includes_groynes_deflect_currents(X),datetime(End)) :- Start \\= bot, End \\= eot, findall(Time,blawx_becomes(includes_groynes_deflect_currents(X),datetime(Time)),Times),blawx_list_not_between(Times,Start,End).\nblawx_not_interrupted(datetime(bot),includes_groynes_deflect_currents(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(-includes_groynes_deflect_currents(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(bot),-includes_groynes_deflect_currents(X),datetime(End)) :- End \\= eot, findall(Time,blawx_becomes(includes_groynes_deflect_currents(X),datetime(Time)),Times),blawx_list_not_before(Times,End).\nblawx_not_interrupted(datetime(Start),includes_groynes_deflect_currents(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(-includes_groynes_deflect_currents(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(Start),-includes_groynes_deflect_currents(X),datetime(eot)) :- Start \\= bot, findall(Time,blawx_becomes(includes_groynes_deflect_currents(X),datetime(Time)),Times),blawx_list_not_after(Times,Start).\nblawx_not_interrupted(datetime(bot),includes_groynes_deflect_currents(X),datetime(eot)) :- blawx_initially(includes_groynes_deflect_currents(X)), blawx_ultimately(includes_groynes_deflect_currents(X)), findall(Time,blawx_becomes(-includes_groynes_deflect_currents(X),datetime(Time)),[]).\nblawx_not_interrupted(datetime(bot),-includes_groynes_deflect_currents(X),datetime(eot)) :- blawx_initially(-includes_groynes_deflect_currents(X)), blawx_ultimately(-includes_groynes_deflect_currents(X)), findall(Time,blawx_becomes(includes_groynes_deflect_currents(X),datetime(Time)),[]).\nblawx_as_of(includes_groynes_deflect_currents(X),datetime(Time)) :- blawx_initially(includes_groynes_deflect_currents(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),includes_groynes_deflect_currents(X),datetime(BeforeT)).\nblawx_as_of(includes_groynes_deflect_currents(X),datetime(Time)) :- blawx_becomes(includes_groynes_deflect_currents(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),includes_groynes_deflect_currents(X),datetime(Time)).\nblawx_as_of(-includes_groynes_deflect_currents(X),datetime(Time)) :- blawx_initially(-includes_groynes_deflect_currents(X)), BeforeT #< Time,blawx_not_interrupted(datetime(bot),-includes_groynes_deflect_currents(X),datetime(BeforeT)).\nblawx_as_of(-includes_groynes_deflect_currents(X),datetime(Time)) :- blawx_becomes(-includes_groynes_deflect_currents(X),datetime(BeforeT)),BeforeT #< Time,blawx_not_interrupted(datetime(BeforeT),-includes_groynes_deflect_currents(X),datetime(Time)).\nblawx_during(datetime(Start),includes_groynes_deflect_currents(X),datetime(End)) :- blawx_becomes(includes_groynes_deflect_currents(X),datetime(Start)), blawx_becomes(-includes_groynes_deflect_currents(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),includes_groynes_deflect_currents(X),datetime(End)).\nblawx_during(datetime(bot),includes_groynes_deflect_currents(X),datetime(End)) :- blawx_initially(includes_groynes_deflect_currents(X)), blawx_becomes(-includes_groynes_deflect_currents(X),datetime(End)), blawx_not_interrupted(datetime(bot),includes_groynes_deflect_currents(X),datetime(End)).\nblawx_during(datetime(Start),includes_groynes_deflect_currents(X),datetime(eot)) :- blawx_ultimately(includes_groynes_deflect_currents(X)), blawx_becomes(-includes_groynes_deflect_currents(X),datetime(Start)), blawx_not_interrupted(datetime(Start),includes_groynes_deflect_currents(X),datetime(eot)).\nblawx_during(datetime(bot),includes_groynes_deflect_currents(X),datetime(eot)) :- blawx_initially(includes_groynes_deflect_currents(X)), blawx_ultimately(includes_groynes_deflect_currents(X)), blawx_becomes(-includes_groynes_deflect_currents(X),datetime(Start)), blawx_not_interrupted(datetime(bot),includes_groynes_deflect_currents(X),datetime(eot)).\nblawx_during(datetime(Start),-includes_groynes_deflect_currents(X),datetime(End)) :- blawx_becomes(-includes_groynes_deflect_currents(X),datetime(Start)), blawx_becomes(includes_groynes_deflect_currents(X),datetime(End)), Start #< End, blawx_not_interrupted(datetime(Start),-includes_groynes_deflect_currents(X),datetime(End)).\nblawx_during(datetime(bot),-includes_groynes_deflect_currents(X),datetime(End)) :- blawx_initially(-includes_groynes_deflect_currents(X)), blawx_becomes(includes_groynes_deflect_currents(X),datetime(End)), blawx_not_interrupted(datetime(bot),-includes_groynes_deflect_currents(X),datetime(End)).\nblawx_during(datetime(Start),-includes_groynes_deflect_currents(X),datetime(eot)) :- blawx_ultimately(-includes_groynes_deflect_currents(X)), blawx_becomes(includes_groynes_deflect_currents(X),datetime(Start)), blawx_not_interrupted(datetime(Start),-includes_groynes_deflect_currents(X),datetime(eot)).\nblawx_during(datetime(bot),-includes_groynes_deflect_currents(X),datetime(eot)) :- blawx_initially(-includes_groynes_deflect_currents(X)), blawx_ultimately(-includes_groynes_deflect_currents(X)), blawx_becomes(-includes_groynes_deflect_currents(X),datetime(Start)), blawx_not_interrupted(datetime(bot),-includes_groynes_deflect_currents(X),datetime(eot)).\n\naccording_to(sec_12__subsec_1__para_f_section,meets_respective_rule_criteria,Work) :- work(Work),\nnot includes_groynes_deflect_currents(Work).\n\n% BLAWX CHECK DUPLICATES\nholds(sec_12__subsec_1__para_f_section,meets_respective_rule_criteria,Work) :- according_to(sec_12__subsec_1__para_f_section,meets_respective_rule_criteria,Work).\n\n% BLAWX CHECK DUPLICATES\n meets_respective_rule_criteria(Work) :- holds(sec_12__subsec_1__para_f_section,meets_respective_rule_criteria,Work)." - model: blawx.blawxtest pk: 180 fields: ruledoc: 20 test_name: application_of_MWO xml_content: MWOWork scasp_encoding: ?- blawx_applies(root_section,Work). tutorial: '' view: '[''view_att_triggers_subsection_3'', ''view_att_meets_definition_s12'', ''view_att_meets_definition_s16'', ''view_att_meets_definition_s17'', ''view_att_meets_definition_s19'', ''view_att_meets_definition_s26'', ''view_att_meets_definition_s28'', ''view_att_meets_definition_s34'', ''view_att_meets_respective_rule_criteria'', ''view_cat_project_type'', ''view_cat_owner'', ''view_att_owner_of_work'', ''view_att_deposit_information'', ''view_att_fed_prov_review_process'', ''view_att_must_publish_notice'', ''view_att_type'']' fact_scenario: '{''facts'': [{''from_ontology'': False, ''type'': ''true'', ''category'': ''work'', ''object'': ''project''}, {''from_ontology'': False, ''type'': ''true'', ''attribute'': ''erosion_protection_work'', ''object'': ''project''}, {''from_ontology'': False, ''type'': ''true'', ''attribute'': ''follows_bank_of_nav_water'', ''object'': ''project''}]}' - model: blawx.blawxtest pk: 181 fields: ruledoc: 20 test_name: requirement_to_deposit_information xml_content: before beginning workownermust deposit information in the registry established under section 27.2 of the ActWorkOwner scasp_encoding: ?- deposit_information(Work,Owner). tutorial: '' view: '[''view_cat_project_type'', ''view_att_triggers_subsection_3'', ''view_att_erosion_protection_work'', ''view_att_meets_respective_rule_criteria'', ''view_att_follows_bank_of_nav_water'', ''view_att_submerged_part_follows_slope'', ''view_att_submerged_part_longer_than_nonsubmerged'', ''view_att_deposit_information'', ''view_att_must_publish_notice'', ''view_att_fed_prov_review_process'', ''view_att_horizontal_extension_beyond_5m'', ''view_att_over_one_third_width_of_nav_water'', ''view_att_associated_with_existing_or_proposed_work'', ''view_att_includes_groynes_deflect_currents'']' fact_scenario: '{''facts'': [{''from_ontology'': True, ''type'': ''true'', ''category'': ''project_type'', ''object'': ''construction''}, {''from_ontology'': True, ''type'': ''true'', ''category'': ''project_type'', ''object'': ''placement''}, {''from_ontology'': True, ''type'': ''true'', ''category'': ''project_type'', ''object'': ''alteration''}, {''from_ontology'': True, ''type'': ''true'', ''category'': ''project_type'', ''object'': ''rebuilding''}, {''from_ontology'': True, ''type'': ''true'', ''category'': ''project_type'', ''object'': ''removal''}, {''from_ontology'': True, ''type'': ''true'', ''category'': ''project_type'', ''object'': ''decommissioning''}, {''from_ontology'': False, ''type'': ''true'', ''category'': ''work'', ''object'': ''project''}, {''from_ontology'': False, ''type'': ''true'', ''category'': ''owner'', ''object'': ''bob''}, {''from_ontology'': False, ''type'': ''true'', ''attribute'': ''owner_of_work'', ''object'': ''bob'', ''value'': ''project''}, {''from_ontology'': False, ''type'': ''unknown'', ''attribute'': ''meets_definition_s12_p1'', ''object'': ''project''}, {''from_ontology'': False, ''type'': ''unknown'', ''attribute'': ''meets_definition_s16_p1'', ''object'': ''project''}, {''from_ontology'': False, ''type'': ''unknown'', ''attribute'': ''meets_definition_s17'', ''object'': ''project''}, {''from_ontology'': False, ''type'': ''unknown'', ''attribute'': ''meets_definition_s19'', ''object'': ''project''}, {''from_ontology'': False, ''type'': ''unknown'', ''attribute'': ''meets_definition_s26'', ''object'': ''project''}, {''from_ontology'': False, ''type'': ''unknown'', ''attribute'': ''meets_definition_s28'', ''object'': ''project''}, {''from_ontology'': False, ''type'': ''unknown'', ''attribute'': ''meets_definition_s34'', ''object'': ''project''}, {''from_ontology'': False, ''type'': ''true'', ''attribute'': ''type'', ''object'': ''project'', ''value'': ''removal''}]}' - model: blawx.blawxtest pk: 182 fields: ruledoc: 20 test_name: requirement_to_publish_notice xml_content: before beginning workownermust publish a notice in accordance with the requirementsWorkOwner scasp_encoding: ?- must_publish_notice(Work,Owner). tutorial: '' view: '[''view_cat_project_type'', ''view_att_triggers_subsection_3'', ''view_att_is_a_minor_work'', ''view_att_erosion_protection_work'', ''view_att_meets_respective_rule_criteria'', ''view_att_follows_bank_of_nav_water'', ''view_att_submerged_part_longer_than_nonsubmerged'', ''view_att_submerged_part_follows_slope'', ''view_att_deposit_information'', ''view_att_must_publish_notice'', ''view_att_horizontal_extension_beyond_5m'', ''view_att_over_one_third_width_of_nav_water'', ''view_att_associated_with_existing_or_proposed_work'', ''view_att_includes_groynes_deflect_currents'']' fact_scenario: '{''facts'': [{''from_ontology'': True, ''type'': ''true'', ''category'': ''project_type'', ''object'': ''construction''}, {''from_ontology'': True, ''type'': ''true'', ''category'': ''project_type'', ''object'': ''placement''}, {''from_ontology'': True, ''type'': ''true'', ''category'': ''project_type'', ''object'': ''alteration''}, {''from_ontology'': True, ''type'': ''true'', ''category'': ''project_type'', ''object'': ''rebuilding''}, {''from_ontology'': True, ''type'': ''true'', ''category'': ''project_type'', ''object'': ''removal''}, {''from_ontology'': True, ''type'': ''true'', ''category'': ''project_type'', ''object'': ''decommissioning''}, {''from_ontology'': False, ''type'': ''true'', ''category'': ''work'', ''object'': ''project''}, {''from_ontology'': False, ''type'': ''true'', ''category'': ''owner'', ''object'': ''bob''}, {''from_ontology'': False, ''type'': ''true'', ''attribute'': ''meets_definition_s12_p1'', ''object'': ''project''}, {''from_ontology'': False, ''type'': ''true'', ''attribute'': ''owner_of_work'', ''object'': ''bob'', ''value'': ''project''}, {''from_ontology'': False, ''type'': ''true'', ''attribute'': ''type'', ''object'': ''project'', ''value'': ''construction''}, {''from_ontology'': False, ''type'': ''unknown'', ''attribute'': ''fed_prov_review_process'', ''object'': ''project''}]}' - model: blawx.blawxtest pk: 183 fields: ruledoc: 20 test_name: '3_1' xml_content: project_Ais a workworktriggers subsection 3(1) of the Minor Works Orderproject_AMWO 3.1project_A scasp_encoding: 'work(project_A). triggers_subsection_3_1(project_A). ?- blawx_applies(sec_3__subsec_1_section,project_A).' tutorial: '' view: '' fact_scenario: '' - model: blawx.blawxtest pk: 184 fields: ruledoc: 20 test_name: 3_1_a xml_content: project_Ais a workworkis an erosion-protection work refereed to in subsection 12(1)project_AThis test comes out incomplete - I can't read the whole answer.MWO 3.1.aworktriggers subsection 3(1) of the Minor Works Orderproject_A scasp_encoding: 'work(project_A). meets_definition_s12_1(project_A). % This test comes out incomplete - I can''t read the whole answer. ?- not according_to(sec_3__subsec_1__para_a_section,triggers_subsection_3_1,project_A).' tutorial: '' view: '' fact_scenario: '' - model: blawx.blawxtest pk: 185 fields: ruledoc: 20 test_name: 3_1_b xml_content: project_Ais a workworkis aerial cables referred to in subsection 16(1) of the Minor Works Orderproject_AMWO 3.1.bworktriggers subsection 3(1) of the Minor Works Orderproject_A scasp_encoding: 'work(project_A). meets_definition_s16_1(project_A). ?- according_to(sec_3__subsec_1__para_b_section,triggers_subsection_3_1,project_A).' tutorial: '' view: '' fact_scenario: '' - model: blawx.blawxtest pk: 186 fields: ruledoc: 20 test_name: 3_1_c xml_content: project_Ais a workworkis submarine cables referred to in section 17 of the Minor Works Orderproject_AMWO 3.1.cworktriggers subsection 3(1) of the Minor Works Orderproject_A scasp_encoding: 'work(project_A). meets_definition_s17(project_A). ?- according_to(sec_3__subsec_1__para_c_section,triggers_subsection_3_1,project_A).' tutorial: '' view: '' fact_scenario: '' - model: blawx.blawxtest pk: 187 fields: ruledoc: 20 test_name: 3_1_d xml_content: project_Ais a workworkis buried pipelines referred to in section 19 of the Minor Works Orderproject_AMWO 3.1.dworktriggers subsection 3(1) of the Minor Works Orderproject_A scasp_encoding: 'work(project_A). meets_definition_s19(project_A). ?- according_to(sec_3__subsec_1__para_d_section,triggers_subsection_3_1,project_A).' tutorial: '' view: '' fact_scenario: '' - model: blawx.blawxtest pk: 188 fields: ruledoc: 20 test_name: 3_1_e xml_content: project_Ais a workworkis outfalls and water intakes referred to in section 26 of the Minor Works Orderproject_AMWO 3.1.eworktriggers subsection 3(1) of the Minor Works Orderproject_A scasp_encoding: 'work(project_A). meets_definition_s26(project_A). ?- according_to(sec_3__subsec_1__para_e_section,triggers_subsection_3_1,project_A).' tutorial: '' view: '' fact_scenario: '' - model: blawx.blawxtest pk: 189 fields: ruledoc: 20 test_name: 3_1_f xml_content: project_Ais a workworkis dredging referred to in section 28 of the Minor Works Orderproject_AMWO 3.1.fworktriggers subsection 3(1) of the Minor Works Orderproject_A scasp_encoding: 'work(project_A). meets_definition_s28(project_A). ?- according_to(sec_3__subsec_1__para_f_section,triggers_subsection_3_1,project_A).' tutorial: '' view: '' fact_scenario: '' - model: blawx.blawxtest pk: 190 fields: ruledoc: 20 test_name: 3_1_g xml_content: project_Ais a workworkis watercourse crossings referred to in section 34 of the Minor Works Orderproject_AMWO 3.1.gworktriggers subsection 3(1) of the Minor Works Orderproject_A scasp_encoding: 'work(project_A). meets_definition_s34(project_A). ?- according_to(sec_3__subsec_1__para_g_section,triggers_subsection_3_1,project_A).' tutorial: '' view: '' fact_scenario: '' - model: blawx.blawxtest pk: 191 fields: ruledoc: 20 test_name: '3_2' xml_content: bobis the ownerproject_Ais a workis the owner of workbobproject_Aworkis aprojectproject_AMWO 3.1MWO 3.2project_AMWO 3.2before beginning workownermust deposit information in the registry established under section 27.2 of the Actproject_Abob scasp_encoding: 'owner(bob). work(project_A). owner_of_work(bob,project_A). type(project_A,_). according_to(sec_3__subsec_1_section,blawx_applies,sec_3__subsec_2_section,project_A). ?- holds(sec_3__subsec_2_section,deposit_information,project_A,bob).' tutorial: '' view: '' fact_scenario: '' - model: blawx.blawxtest pk: 192 fields: ruledoc: 20 test_name: '3_3' xml_content: bobis the ownerproject_Ais a workis the owner of workbobproject_Aworkis aprojectproject_AMWO 3.1MWO 3.3project_Athe proposed workhas gone through a federal or provincial review processproject_AMWO 3.3before beginning workownermust publish a notice in accordance with the requirementsproject_Abob scasp_encoding: 'owner(bob). work(project_A). owner_of_work(bob,project_A). type(project_A,_). according_to(sec_3__subsec_1_section,blawx_applies,sec_3__subsec_3_section,project_A). fed_prov_review_process(project_A). ?- blawx_defeated(sec_3__subsec_3_section,must_publish_notice,project_A,bob).' tutorial: '' view: '' fact_scenario: '' - model: blawx.blawxtest pk: 193 fields: ruledoc: 20 test_name: 3_3_exception xml_content: bobis the ownerproject_Ais a workis the owner of workbobproject_Aworkis aprojectproject_AMWO 3.1MWO 3.3project_AMWO 3.3before beginning workownermust publish a notice in accordance with the requirementsproject_Abob scasp_encoding: 'owner(bob). work(project_A). owner_of_work(bob,project_A). type(project_A,_). according_to(sec_3__subsec_1_section,blawx_applies,sec_3__subsec_3_section,project_A). ?- holds(sec_3__subsec_3_section,must_publish_notice,project_A,bob).' tutorial: '' view: '' fact_scenario: '' - model: blawx.blawxtest pk: 194 fields: ruledoc: 20 test_name: '12_1' xml_content: project_Ais a workworkis an erosion protection workproject_AMWO 12.1.aworkmeets the respective criteria for this rule sectionproject_AMWO 12.1.bworkmeets the respective criteria for this rule sectionproject_AMWO 12.1.cworkmeets the respective criteria for this rule sectionproject_AMWO 12.1.dworkmeets the respective criteria for this rule sectionproject_AMWO 12.1.eworkmeets the respective criteria for this rule sectionproject_AMWO 12.1.fworkmeets the respective criteria for this rule sectionproject_Aproject_Ais a workworkis an erosion protection workproject_Aworkis integrated with and follows the bank of the navigable waterproject_AMWO 12.1workis a minor workproject_AMWO 12.1workis an erosion-protection work refereed to in subsection 12(1)project_A scasp_encoding: 'work(project_A). erosion_protection_work(project_A). follows_bank_of_nav_water(project_A). ?- according_to(sec_12__subsec_1_section,meets_definition_s12_1,project_A).' tutorial: '' view: '' fact_scenario: '' - model: blawx.blawxtest pk: 195 fields: ruledoc: 20 test_name: 12_1_a xml_content: project_Ais a workworkis integrated with and follows the bank of the navigable waterproject_AMWO 12.1.aworkmeets the respective criteria for this rule sectionproject_A scasp_encoding: 'work(project_A). follows_bank_of_nav_water(project_A). ?- according_to(sec_12__subsec_1__para_a_section,meets_respective_rule_criteria,project_A).' tutorial: '' view: '' fact_scenario: '' - model: blawx.blawxtest pk: 196 fields: ruledoc: 20 test_name: 12_1_b xml_content: project_Ais a workthe submerged part of workextends horizontally into the navigable water further than the non-submerged partproject_Athe submerged part of workis integrated with and follows the slope of the bed of the navigable waterproject_AMWO 12.1.bworkmeets the respective criteria for this rule sectionproject_A scasp_encoding: 'work(project_A). submerged_part_longer_than_nonsubmerged(project_A). submerged_part_follows_slope(project_A). ?- according_to(sec_12__subsec_1__para_b_section,meets_respective_rule_criteria,project_A).' tutorial: '' view: '' fact_scenario: '' - model: blawx.blawxtest pk: 197 fields: ruledoc: 20 test_name: 12_1_c xml_content: project_Ais a workworkextends horizontally more than 5 m into the navigable waterproject_AMWO 12.1.cworkmeets the respective criteria for this rule sectionproject_A scasp_encoding: 'work(project_A). ?- according_to(sec_12__subsec_1__para_c_section,meets_respective_rule_criteria,project_A).' tutorial: '' view: '' fact_scenario: '' - model: blawx.blawxtest pk: 198 fields: ruledoc: 20 test_name: 12_1_d xml_content: project_Ais a workworkoccupies more than one-third of the width of the navigable waterproject_AMWO 12.1.dworkmeets the respective criteria for this rule sectionproject_A scasp_encoding: 'work(project_A). ?- according_to(sec_12__subsec_1__para_d_section,meets_respective_rule_criteria,project_A).' tutorial: '' view: '' fact_scenario: '' - model: blawx.blawxtest pk: 199 fields: ruledoc: 20 test_name: 12_1_e xml_content: project_Ais a workworkis associated with an existing or proposed work that is NOT a minor workproject_AMWO 12.1.eworkmeets the respective criteria for this rule sectionproject_A scasp_encoding: 'work(project_A). ?- according_to(sec_12__subsec_1__para_e_section,meets_respective_rule_criteria,project_A).' tutorial: '' view: '' fact_scenario: '' - model: blawx.blawxtest pk: 200 fields: ruledoc: 20 test_name: 12_1_f xml_content: project_Ais a workworkincludes groynes or other structures to deflect the currentproject_AMWO 12.1.fworkmeets the respective criteria for this rule sectionproject_A scasp_encoding: 'work(project_A). ?- according_to(sec_12__subsec_1__para_f_section,meets_respective_rule_criteria,project_A).' tutorial: '' view: '' fact_scenario: ''