Verify native behavior creation recovery and source authoring contracts

This commit is contained in:
2026-09-11 04:21:56 -07:00
parent 4bb4aaf3dc
commit 2ec72d4241
199 changed files with 19752 additions and 85 deletions
+8
View File
@@ -20,9 +20,17 @@ harness/fixtures/interface-operation-probe/** -text
harness/history/2026-09-06-ledgers-before-consolidation/** -text
harness/history/2026-09-10-ledgers-before-second-consolidation/** -text whitespace=blank-at-eol,blank-at-eof,space-before-tab,cr-at-eol
harness/experiments/textual-authoring-20260911-local/** -text whitespace=blank-at-eol,blank-at-eof,space-before-tab,cr-at-eol
harness/experiments/constructor-defaults-20260911/** -text whitespace=blank-at-eol,blank-at-eof,space-before-tab,cr-at-eol
harness/experiments/constructor-defaults-20260911/results/*.arcadia whitespace=-blank-at-eol,cr-at-eol
harness/experiments/behavior-creation-native-20260911/** -text whitespace=blank-at-eol,blank-at-eof,space-before-tab,cr-at-eol
harness/experiments/analysis-context-20260911/** -text whitespace=cr-at-eol
harness/experiments/textual-authoring-20260911/** -text whitespace=cr-at-eol
harness/experiments/textual-authoring-20260911/observed/split-entry.arcadia whitespace=-blank-at-eol,cr-at-eol
harness/fixtures/scenario-authoring/base/** -text whitespace=cr-at-eol
crates/oa-desktop/src/recovery/fixtures/*.json -text
harness/fixtures/source7-native/** -text
harness/fixtures/basic-editing/** -text
harness/behavior-creation-contract.rs -text whitespace=cr-at-eol
# Preserve checksum-bound font notices verbatim through Git round trips.
scripts/windows-notices/GNOME-Cantarell-61362600e104-COPYING -text
+38 -16
View File
@@ -752,7 +752,7 @@ lists all additional fields. <span class="docutils literal">ref</span> means <sp
</tr>
<tr><td><p><span class="docutils literal">oa_scenario</span>, <span class="docutils literal">sa_scenario</span></p></td>
<td><p><span class="docutils literal">viewpoint</span>: ScenarioViewpoint; <span class="docutils literal">context</span>: ref?; <span class="docutils literal">precondition</span>, <span class="docutils literal">postcondition</span>: strings; <span class="docutils literal">steps</span>: occurrence refs</p></td>
<td><p>MixedLegacy for omitted schema-2 source; none; <span class="docutils literal">&quot;&quot;</span>; <span class="docutils literal">&quot;&quot;</span>; <span class="docutils literal">[]</span></p></td>
<td><p>MixedLegacy when viewpoint is omitted, including newly authored source 7 (see section 4.3); none; <span class="docutils literal">&quot;&quot;</span>; <span class="docutils literal">&quot;&quot;</span>; <span class="docutils literal">[]</span></p></td>
</tr>
<tr><td><p><span class="docutils literal">oa_lifeline</span>, <span class="docutils literal">sa_lifeline</span></p></td>
<td><p><span class="docutils literal">represented</span>: participant, work, or role ref?</p></td>
@@ -792,49 +792,71 @@ An Enumeration contains unique string literals. For example:</p>
<pre class="code text literal-block"><code>definition { Enumeration { literals [&quot;Clear&quot;, &quot;Fog&quot;]; }; };
type_ref { Named &#64;weather_classification; };</code></pre>
<p>These are typed constructors with named fields, not embedded JSON documents.
Constructor field names and enum spellings are case-sensitive. When replacing
a constructor, all of its fields MUST be supplied; the containing declaration
defaults do not silently fill a different constructor's missing fields.
During schema-2 compatibility, the new Exchange fields <span class="docutils literal">message_kind</span>,
<span class="docutils literal">reply_to</span> and <span class="docutils literal">values</span> are exceptions: omitted values hydrate as
Asynchronous, none and [] respectively. Canonical output writes them explicitly.
This preserves older schema-2 source/JSON without inventing call correlation or
value annotations. It is not a rule for an unspecified future schema.</p>
Constructor field names and enum spellings are case-sensitive. A selected
constructor uses its own field contract; it does not inherit the payload of a
different constructor from the declaration default. Required fields MUST be
supplied. Nullability and omission are separate properties: <span class="docutils literal">?</span> denotes a
value that can be <span class="docutils literal">none</span>; a constructor's omission contract determines whether
the field may be absent. There is no general all-constructor-fields-required
rule. Other typed constructors use their contracts in the corresponding
sections; the occurrence rules below do not establish defaults for them.</p>
<p>The following table records the source-7 OccurrenceBody contracts. Optional
references may be omitted and then mean <span class="docutils literal">none</span>. Exchange also admits omitted
<span class="docutils literal">message_kind</span> and <span class="docutils literal">values</span>, meaning Asynchronous and <span class="docutils literal">[]</span> respectively.
These omissions are accepted in newly authored source 7, not only in schema-2
compatibility input. Earlier schema admission of constructors and fields is
still governed by its version rules.</p>
<p>Canonical formatting writes the hydrated occurrence references and default
<span class="docutils literal">message_kind</span>, <span class="docutils literal">reply_to</span> and <span class="docutils literal">values</span> explicitly. An absent
<span class="docutils literal">operation</span> remains omitted in canonical output. Lossless no-op updates and
unrelated name edits retain authored omissions; canonical formatting is a
different operation. An admitted incomplete occurrence can still produce model
checks requesting its missing work, exchange, lifeline or referenced scenario.</p>
<table>
<caption>Occurrence body constructors</caption>
<colgroup>
<col style="width: 22.0%" />
<col style="width: 78.0%" />
<col style="width: 18.0%" />
<col style="width: 36.0%" />
<col style="width: 46.0%" />
</colgroup>
<thead>
<tr><th class="head"><p>Constructor</p></th>
<th class="head"><p>Required fields</p></th>
<th class="head"><p>Fields that may be omitted, with their resulting values</p></th>
</tr>
</thead>
<tbody>
<tr><td><p>Exchange</p></td>
<td><p><span class="docutils literal">exchange</span>: exchange relation ref?; <span class="docutils literal">sender</span>, <span class="docutils literal">receiver</span>: lifeline refs?; <span class="docutils literal">message_kind</span>: MessageKind; <span class="docutils literal">reply_to</span>: occurrence ref?; <span class="docutils literal">values</span>: MessageValue records</p></td>
<td><p>None</p></td>
<td><p><span class="docutils literal">exchange</span>: exchange relation ref?, <span class="docutils literal">sender</span>, <span class="docutils literal">receiver</span>: lifeline refs?, <span class="docutils literal">reply_to</span>: occurrence ref?, <span class="docutils literal">operation</span>: OperationUse? → <span class="docutils literal">none</span>; <span class="docutils literal">message_kind</span>: MessageKind → Asynchronous; <span class="docutils literal">values</span>: MessageValue records → <span class="docutils literal">[]</span></p></td>
</tr>
<tr><td><p>Action</p></td>
<td><p><span class="docutils literal">action</span>: activity/function ref?; <span class="docutils literal">lifeline</span>: ref?</p></td>
<td><p>None</p></td>
<td><p><span class="docutils literal">action</span>: activity/function ref?, <span class="docutils literal">lifeline</span>: ref? → <span class="docutils literal">none</span></p></td>
</tr>
<tr><td><p>Control</p></td>
<td><p><span class="docutils literal">kind</span>: Choice, Merge, Fork, Join, Loop</p></td>
<td><p>None</p></td>
</tr>
<tr><td><p>SequenceReference</p></td>
<td><p><span class="docutils literal">sequence</span>: process/functional-chain ref?</p></td>
<td><p>None</p></td>
<td><p><span class="docutils literal">sequence</span>: process/functional-chain ref? → <span class="docutils literal">none</span></p></td>
</tr>
<tr><td><p>ScenarioUse</p></td>
<td><p><span class="docutils literal">scenario</span>: scenario ref?; <span class="docutils literal">bindings</span>: LifelineBinding records</p></td>
<td><p><span class="docutils literal">bindings</span>: LifelineBinding records</p></td>
<td><p><span class="docutils literal">scenario</span>: scenario ref? → <span class="docutils literal">none</span></p></td>
</tr>
<tr><td><p>State</p></td>
<td><p><span class="docutils literal">state</span>: state/mode ref?; <span class="docutils literal">lifeline</span>: ref?</p></td>
<td><p>None</p></td>
<td><p><span class="docutils literal">state</span>: state/mode ref?, <span class="docutils literal">lifeline</span>: ref? → <span class="docutils literal">none</span></p></td>
</tr>
<tr><td><p>Fragment</p></td>
<td><p><span class="docutils literal">operator</span>: Alternative, Parallel, Loop, Optional; <span class="docutils literal">branches</span>: branch occurrence refs</p></td>
<td><p>None</p></td>
</tr>
<tr><td><p>Branch</p></td>
<td><p><span class="docutils literal">guard</span>: string; <span class="docutils literal">occurrences</span>: occurrence refs</p></td>
<td><p>None</p></td>
</tr>
</tbody>
</table>
+38 -15
View File
@@ -120,7 +120,7 @@ lists all additional fields. ``ref`` means ``@alias``; ``ref?`` also accepts
- No implicit contract; ``legacy`` defaults none. OA admits Legacy only.
* - ``oa_scenario``, ``sa_scenario``
- ``viewpoint``: ScenarioViewpoint; ``context``: ref?; ``precondition``, ``postcondition``: strings; ``steps``: occurrence refs
- MixedLegacy for omitted schema-2 source; none; ``""``; ``""``; ``[]``
- MixedLegacy when viewpoint is omitted, including newly authored source 7 (see section 4.3); none; ``""``; ``""``; ``[]``
* - ``oa_lifeline``, ``sa_lifeline``
- ``represented``: participant, work, or role ref?
- none
@@ -155,37 +155,60 @@ An Enumeration contains unique string literals. For example:
type_ref { Named @weather_classification; };
These are typed constructors with named fields, not embedded JSON documents.
Constructor field names and enum spellings are case-sensitive. When replacing
a constructor, all of its fields MUST be supplied; the containing declaration
defaults do not silently fill a different constructor's missing fields.
During schema-2 compatibility, the new Exchange fields ``message_kind``,
``reply_to`` and ``values`` are exceptions: omitted values hydrate as
Asynchronous, none and [] respectively. Canonical output writes them explicitly.
This preserves older schema-2 source/JSON without inventing call correlation or
value annotations. It is not a rule for an unspecified future schema.
Constructor field names and enum spellings are case-sensitive. A selected
constructor uses its own field contract; it does not inherit the payload of a
different constructor from the declaration default. Required fields MUST be
supplied. Nullability and omission are separate properties: ``?`` denotes a
value that can be ``none``; a constructor's omission contract determines whether
the field may be absent. There is no general all-constructor-fields-required
rule. Other typed constructors use their contracts in the corresponding
sections; the occurrence rules below do not establish defaults for them.
The following table records the source-7 OccurrenceBody contracts. Optional
references may be omitted and then mean ``none``. Exchange also admits omitted
``message_kind`` and ``values``, meaning Asynchronous and ``[]`` respectively.
These omissions are accepted in newly authored source 7, not only in schema-2
compatibility input. Earlier schema admission of constructors and fields is
still governed by its version rules.
Canonical formatting writes the hydrated occurrence references and default
``message_kind``, ``reply_to`` and ``values`` explicitly. An absent
``operation`` remains omitted in canonical output. Lossless no-op updates and
unrelated name edits retain authored omissions; canonical formatting is a
different operation. An admitted incomplete occurrence can still produce model
checks requesting its missing work, exchange, lifeline or referenced scenario.
.. list-table:: Occurrence body constructors
:header-rows: 1
:widths: 22 78
:widths: 18 36 46
* - Constructor
- Required fields
- Fields that may be omitted, with their resulting values
* - Exchange
- ``exchange``: exchange relation ref?; ``sender``, ``receiver``: lifeline refs?; ``message_kind``: MessageKind; ``reply_to``: occurrence ref?; ``values``: MessageValue records
- None
- ``exchange``: exchange relation ref?, ``sender``, ``receiver``: lifeline refs?, ``reply_to``: occurrence ref?, ``operation``: OperationUse? → ``none``; ``message_kind``: MessageKind → Asynchronous; ``values``: MessageValue records → ``[]``
* - Action
- ``action``: activity/function ref?; ``lifeline``: ref?
- None
- ``action``: activity/function ref?, ``lifeline``: ref? → ``none``
* - Control
- ``kind``: Choice, Merge, Fork, Join, Loop
- None
* - SequenceReference
- ``sequence``: process/functional-chain ref?
- None
- ``sequence``: process/functional-chain ref? → ``none``
* - ScenarioUse
- ``scenario``: scenario ref?; ``bindings``: LifelineBinding records
- ``bindings``: LifelineBinding records
- ``scenario``: scenario ref? → ``none``
* - State
- ``state``: state/mode ref?; ``lifeline``: ref?
- None
- ``state``: state/mode ref?, ``lifeline``: ref? → ``none``
* - Fragment
- ``operator``: Alternative, Parallel, Loop, Optional; ``branches``: branch occurrence refs
- None
* - Branch
- ``guard``: string; ``occurrences``: occurrence refs
- None
For example, ``body { Action { action @assess; lifeline @operator_line; }; };``
selects an Action occurrence. Processes and functional chains contain Exchange,
+9 -4
View File
@@ -7,14 +7,19 @@ Updated 2026-09-11, Codex-9e8r6t `/root`.
## Immediate implementation and acceptance
1. Commit/publish the now-verified creation integration and matching GUI stage. Final immutable
1. Preserve the verified creation integration and matching GUI stage, committed
as 4bb4aaf and transferred with independent anonymous readback/hash verification. Final immutable
desktop653/653 passed after creation ancestry/guide changes, alongside focused
creation21/guide3. StrictClippy/fmt pass after a behavior-equivalent history
rewrite; affected history63 and GUI build also pass. Preserve exact artifact
scopes and serialize future Cargo/source leases.
2. Natively test the independently reviewed local creation workflow: explicit
names/viewpoints/owners, source/property draft retention, SA recovery, first
Escape and exact source/selection/Undo. Address actual task friction.
2. Named process/scenario/machine creation, exact Undo/Redo and nine-file reopen
have passed at actual minimum size. Wide/minimum cancellation passed; SA draft
crash recovery is active. Address observed blank canvases and prerequisite
creation detours through the staged-source plan: source subform retains the
parent draft and final adoption atomically creates prerequisite and consumer.
First slice covers Lifeline, process Work and machine owner, with semantic
first-action prompts. Independent review precedes final integration/native QA.
3. Operate the rebuilt app at minimum/normal sizes. Complete the saved basic
supplementary move/camera/invalid-draft and minimum-size story; the main basic
model and explicit transition passed full Project+SourceBundle, Undo/Redo and
+80 -27
View File
@@ -12,12 +12,14 @@ in that file. It requires constraints/calculations, quantities/units and reusabl
libraries, plus uncluttered human/AI text-only modeling at small and large scale.
Long homogeneous lists and poor behavior editing remain explicit concerns.
Local branch: `codex/release1-9e8r6t`, base `1797516`, committed head `d114a27` at
this checkpoint. Scenario integration3978bbe and subsequent Sensor identity fix
are committed. Named behavior creation is wired and has passing focused tests;
its final ancestry/guide correction passed full653; post-lint history63, strict
Clippy/fmt and matching GUI build passed. Preserve all
workers' edits. No open Gitea PRs at the latest read, comments through118.
Local branch: `codex/release1-9e8r6t`, base `1797516`, committed head `4bb4aaf`.
Named behavior creation, its guide and independent oracle, concise text-first
examples and prior integration evidence are committed and remotely transferred.
Its final ancestry/guide correction passed full653; post-lint history63, strict
Clippy/fmt and matching GUI build passed. Current uncommitted work corrects the
oracle's retained-file rule, clarifies source-7 constructor defaults, records
native creation and implements contextual prerequisite creation. Preserve all
workers' edits. No open Gitea PRs at the latest read, comments through138.
## Completed work and scoped evidence
@@ -51,7 +53,26 @@ workers' edits. No open Gitea PRs at the latest read, comments through118.
found no additional correctness blocker. StrictClippy/all-targets/-Dwarnings
and workspacefmt pass after one behavior-equivalent history_fields let-chain
correction; affected history63/63 and matching GUI rebuild pass. Current native
GUI is `gui-verified` SHA D4D9C2BD…B20C31; native acceptance is active.
GUI is `gui-verified` SHA D4D9C2BD…B20C31. At actual 1100×700 client size,
named OA Process, explicit ParticipantInteraction Scenario with capability
context and SA owner-linked State machine plus requested first view passed
complete independent Project/SourceBundle checks at 7/8/9 files. Each single
Undo/Redo preserved exact expected semantics, sources and role identities.
Reopen/Save retained all nine physical source files byte-for-byte. Wide/minimum
draft cancellations retained the initial six files exactly. Detailed report:
[native creation](release-behavior-creation-native-20260911.md).
- Independent creation oracle v2 corrects a harness assumption: Save retains
known detached source files after Undo. Full Project and reachable source
equality remain mandatory; the complete physical inventory must equal the
explicit pre-Undo checkpoint overlaid with expected reachable bytes. Unknown,
changed or missing retained files fail. No product defect was hidden by this
correction; see [oracle review](release-behavior-creation-oracle-20260911.md).
- Fresh source-7 constructor probes passed 54 explicit/omitted comparisons and
12 required-field refusals across OA/SA, with complete typed models, canonical
reparse and exact authored no-op/name-edit retention. Constructor and Scenario
default wording now describes current behavior; strict HTML regeneration
passed. Other constructor families are explicitly outside this evidence.
See [default review](release-constructor-defaults-review-20260911.md).
- Source schema checks passed: 72 fixtures, 204 schemas, 14 families, 90 scalar
leaves. API/language reST rendered with strict docutils without warnings.
- Packaging committed `b98f135`: portable Linux adapter, shared package checks,
@@ -84,18 +105,29 @@ Detailed evidence: [integrated gates](release-integrated-gates-20260910.md),
## Active ownership and execution
- Root: integration, common ledgers, source/API checks. Full653 is terminal PASS.
Computer Use remains authorized; old Escape holds are historical. Native input
is temporarily leased exclusively to palette_finish for the bounded QA below.
- `release_audit`: creation/guide/historylint implementation and report frozen,
all assigned gates passed; Cargo writer released. No duplicate full suite.
- `behavior_audit`: independent native creation saved-model oracle compiled
warnings-denied; self-falsifiers and six-source baseline pass. Exe73FA81…A9BFF;
final report follows. Direct-rustc released; no native.
- `palette_finish`: exclusive native lease for fresh v4 GUI wide/minimum creation
drafts, focus, long names, first Escape and exact cancellation. No accepted new
model objects until the independent oracle; no source/Cargo. Text experiment
finished and its loopback server is stopped.
- Root: integration, common ledgers, source/API checks and exclusive native input.
Full653 is terminal PASS. V4 creation/Undo/Redo/reopen is complete; actual SA
pending-draft crash recovery is active on the same verified GUI. The forced
interruption targeted only isolated QA PID5184 after checkpoint persistence;
restarted PID1284/window6161106 uses the same private profile and runtime.
Recovery is now terminal PASS: full draft fields/IDs retained, autofocus,
first Escape and a fresh Save As preserve the complete nine-file model. The
current wide GUI is saved on `checkpoint-recovery-cancel/project.arcadia`;
treat that checkpoint as immutable and reopen a work copy before editing.
- `release_audit`: prior creation and constructor reports frozen. Now owns the
staged prerequisite creation implementation for Scenario Lifeline/process Work/
New machine owner, semantic first-action prompts, relevant App/recovery/guide
wiring and focused tests. Cargo writer is reserved to this worker when needed;
freeze source during tests and request independent review before integration.
- `behavior_audit`: v2 native oracle frozen, warnings-denied compilation and
falsifiers pass, executable056EEFD…F6A36. Now independently challenges staged
source semantics and expected behavior; no production/Cargo/native ownership.
- `palette_finish`: native report/evidence frozen: 13 creation oracle commands
and 19 separate recovery checks pass. Now owns new `crates/oa-cli` for local
source check/lint, preview/explicit-write stabilization and alias rename/diff.
Uses existing source-file diagnostics/expectations/journal writer, no grammar
or core changes. Root owns workspace/lock integration; serialize Cargo with
release_audit. Preview UUIDs remain candidates until that invocation writes.
- Separate host Codex-956atf: standalone scenario lifetime projection, independent
native scenario oracle, quantity/calculation design and library design. It has
its own cold toolchain/results. Its source-only reviews are not local passes.
@@ -112,18 +144,24 @@ unassigned-lane map differences that must be addressed before acceptance.
1. Finish native basic supplementary move/camera/focus/minimum matrix and current
scenario/process/state tasks. Main basic/transition/history/reopen passed at
wide size. Check raw drafts, recovery, exact source and real task completion.
2. Natively verify named local Process/Scenario/State machine creation; address
contextual missing-source and operand-editing detours from the behavior audit.
2. Implement/review/natively verify contextual
missing-source and first-action flows. Named creation/history/reopen passed;
operand-editing and qualified Action allocation remain separate open work.
3. Constraints/calculations and quantity compatibility are currently descriptive
metadata; same-project includes are not maintained cross-project libraries.
Independent semantic designs and falsification are active before broad schema
changes. See [library review brief](release-library-candidate-review-20260910.md).
Other-host proposals expose cosmetic package revision/type compatibility,
subjectless analysis closure and text-only instance normalization decisions;
full reports are requested but not yet available locally.
4. Implement and evaluate text-only authoring improvements after synthesizing
local usability and other-host language designs. Concise examples alone do
not satisfy modular engineering navigation and safe changes.
full reports and paired criticism are now available from verified c6d296a.
Its 218-assertion maintenance experiment supports explicit baseline values
with one-level Case overrides; complete freeze and effective-case evaluation
are required. Refined baseline/library contracts remain active externally.
4. Implement and evaluate the source-only CLI baseline, then compare language
improvements using both local usability and complete other-host proposals.
Current grammar+tooling, domain syntax, namespaces and portable identity
modules remain distinct candidates. Concise examples/CLI alone do not prove
uncluttered modular engineering authoring or safe large-model changes.
5. Run coherent current desktop/core/server, specification, examples, REST and
optimized packaging gates after integration. Prior passes remain scoped.
6. Current Linux runtime requires a viable environment: supported WSL2 import
@@ -140,8 +178,23 @@ anonymous fetch and Gitea MCP still work. Integration3978bbe was published and
independently fetched/hash-verified as a Git bundle on
`codex/integration-transfer-20260910`; Wiki `Integration3978bbe` and issue#97 own
exact transfer instructions. Other host has integrated it and an equivalent
Sensor fix. Publish the next coherent creation/docs checkpoint similarly;
preserve its later B4/reference chooser/design work and avoid duplicate patches.
Sensor fix. Creation4bb4aaf was likewise published on
`codex/integration-transfer-20260911`, file
`harness/transfers/creation-4bb4aaf.bundle.b64`: decoded105022 bytes,
SHA256 `0DEFAE91A56430076C432758F923BC0675911DA9FA7588C9961FF15F47EAEBF6`,
prerequisite3978bbe. Anonymous Git readback, strict base64 length/hash check and
`git bundle verify` passed; issue#128 gives selective integration instructions.
Publish subsequent corrected oracle/native/default evidence similarly; preserve
the other host's later B4/reference chooser/design work and avoid duplicates.
Other-host c6d296a transfer is verified and imported as local
`codex/behavior-snapshot-c6d296a`: 334830 bytes,
SHA256 `526A80E2D32ED0E57A7B2372B5F02D4652E8751DFEBA81953C4F045225D6AACB`,
prerequisite1797516, from `codex/behavior-transfer-20260910` file
`harness/transfers/behavior-c6d296a.bundle.b64`. Selected analysis/library/text
reports, criticism, experiments and independent scenario oracle are restored;
51 evidence files compare byte-for-byte with Git blobs. No source/ledger merge.
Issue#136/#143 and refreshed Wiki Authoring20260911 record the handoff.
The old ledgers, including all historical platform and native evidence, were
archived byte-for-byte before this consolidation in
+13 -3
View File
@@ -42,8 +42,11 @@ four/six-source independent model oracles; supplementary native cases remain.
Corrected immutable desktop631/631 passed; later Sensor correction passed53/53.
Final creation21/guide3 and matching full desktop653/653 passed after ancestry
label correction. StrictClippy/fmt pass after one behavior-equivalent history
let-chain rewrite; affected history63 and matching GUI build pass. Native acceptance
is active. Mounted
let-chain rewrite; affected history63 and matching GUI build pass. Native named
creation passes complete model and 7/8/9-source oracles, individual Undo/Redo and
byte-exact nine-file reopen at actual minimum size. Cancellation preserves the
six-file baseline. Blank process/scenario canvases provide no useful first-action
prompt; this is an observed usability finding. SA draft recovery remains active. Mounted
layout tests establish pane geometry, not native task acceptance. Packaging checks
and independent review are scoped to supplied binaries/fixtures, not release
acceptance. Supported WSL2 import failed; a current Linux runtime is unavailable.
@@ -86,7 +89,14 @@ usability nor large-project performance.
- Behavior creation: compact New → three task choices → focused name/owner/
viewpoint card, explicit missing inputs, atomic creation and reserved recovery
IDs. Implemented and independently reviewed; final gates/native proof pending.
IDs. Implemented, reviewed and scoped native creation/history/reopen passed.
- Contextual prerequisite creation: stage an explicit typed source inside the
current parent draft, then validate/adopt source and consumer atomically. This
preserves intent and one-step history; a separate Architecture excursion or
early source commit loses those guarantees. Initial Lifeline/process Work/
machine-owner adapters and semantic first-action prompts are being implemented
and independently challenged; acceptance remains pending. See the
[bounded plan](release-contextual-source-creation-plan-20260911.md).
- Scenario workspace: compact header, optional Tools/Selection shelves, actual
remaining-height canvas/form, pinned actions, independent scrolling and
explicit Fit/Focus. Mounted tests support this choice; native proof pending.
+119 -11
View File
@@ -1,5 +1,5 @@
//! Independent native creation oracle; no desktop producer is imported.
//! self-check BASE | check STAGE BASE ACTUAL ROLES | same EXPECTED ACTUAL
//! self-check BASE | check STAGE BASE ACTUAL ROLES | same EXPECTED ACTUAL [UNDO_FROM]
use oa_core::{source_project::*, *};
use std::{
collections::{BTreeMap, BTreeSet},
@@ -41,7 +41,9 @@ impl Stage {
}
}
fn source_paths(root: &Path, here: &Path, paths: &mut BTreeSet<String>) {
type DiskSources = BTreeMap<String, Vec<u8>>;
fn source_paths(root: &Path, here: &Path, paths: &mut DiskSources) {
for entry in fs::read_dir(here).unwrap() {
let entry = entry.unwrap();
let kind = entry.file_type().unwrap();
@@ -61,11 +63,12 @@ fn source_paths(root: &Path, here: &Path, paths: &mut BTreeSet<String>) {
.to_str()
.unwrap()
.replace('\\', "/"),
fs::read(entry.path()).unwrap(),
);
}
}
}
fn load(entry: &Path) -> CompiledSourceProject {
fn load_checkpoint(entry: &Path) -> (CompiledSourceProject, DiskSources) {
let files = source_files::load_project(entry, ProjectLimits::default()).unwrap();
let raw = files.reachable_bundle();
let compiled = compile_bundle(&raw, ProjectLimits::default()).unwrap();
@@ -74,13 +77,30 @@ fn load(entry: &Path) -> CompiledSourceProject {
"No migration, normalization or implicit identity insertion"
);
execute_batch(&compiled.decoded.project, &[]).unwrap();
let mut disk = BTreeSet::new();
let mut disk = BTreeMap::new();
let root = entry.parent().unwrap();
source_paths(root, root, &mut disk);
(compiled, disk)
}
fn predicted_disk(reachable: &SourceBundle, undo_from: Option<&DiskSources>) -> DiskSources {
// Saving Undo writes the restored reachable files and deliberately keeps
// detached files from the previously saved checkpoint. Never infer their
// bytes from the actual Undo directory: its explicit origin is the oracle.
let mut expected = undo_from.cloned().unwrap_or_default();
expected.extend(
reachable
.files
.iter()
.map(|(path, source)| (path.clone(), source.as_bytes().to_vec())),
);
expected
}
fn load(entry: &Path) -> CompiledSourceProject {
let (compiled, disk) = load_checkpoint(entry);
assert_eq!(
disk,
raw.files.keys().cloned().collect(),
"Reject detached extra source files too"
predicted_disk(&compiled.bundle, None),
"Ordinary checkpoints must contain exactly their reachable source files; retained Undo files require an explicit origin"
);
compiled
}
@@ -526,6 +546,76 @@ fn self_check(base: &CompiledSourceProject) {
"Reject an altered baseline before use"
);
assert_equal(&original, base);
let before = predict(base, Stage::Scenario, &carrier);
let created = predict(base, Stage::Machine, &carrier);
let origin = predicted_disk(&created.bundle, None);
let detached: Vec<_> = created
.bundle
.files
.keys()
.filter(|path| !before.bundle.files.contains_key(*path))
.cloned()
.collect();
assert_eq!(
detached.len(),
1,
"A machine creation adds one source module"
);
// Independently simulate the saver's observable result: restored reachable
// bytes plus the one new module left on disk by the prior creation.
let mut retained = predicted_disk(&before.bundle, None);
retained.insert(
detached[0].clone(),
created.bundle.files[&detached[0]].as_bytes().to_vec(),
);
assert_eq!(
retained[&detached[0]], origin[&detached[0]],
"Retained bytes must come from the exact created checkpoint"
);
assert_ne!(
retained,
predicted_disk(&before.bundle, None),
"Ordinary comparison must not accept detached history files"
);
assert_eq!(
retained,
predicted_disk(&before.bundle, Some(&origin)),
"Explicit Undo origin permits only the expected retained bytes"
);
let mut unknown = retained.clone();
unknown.insert("unknown.arcadia".into(), b"// Unclaimed file\n".to_vec());
assert_ne!(
unknown,
predicted_disk(&before.bundle, Some(&origin)),
"Reject unknown detached files"
);
let mut changed = retained.clone();
changed.get_mut(&detached[0]).unwrap().push(b' ');
assert_ne!(
changed,
predicted_disk(&before.bundle, Some(&origin)),
"Reject changed detached bytes"
);
let mut missing = retained.clone();
missing.remove(&detached[0]);
assert_ne!(
missing,
predicted_disk(&before.bundle, Some(&origin)),
"The retained file set is exact, not optional"
);
let mut reachable_drift = retained.clone();
reachable_drift
.get_mut("rationale.arcadia")
.unwrap()
.push(b' ');
assert_ne!(
reachable_drift,
predicted_disk(&before.bundle, Some(&origin)),
"An Undo exemption cannot hide reachable-source changes"
);
println!(
"PASS explicit Undo disk contract: known detached retention accepted; unknown, changed, missing and reachable drift rejected"
);
println!("PASS baseline retained unchanged; no native acceptance claimed");
}
fn main() {
@@ -554,15 +644,33 @@ fn main() {
);
}
Some("same") => {
assert_eq!(args.len(), 4, "same EXPECTED_CHECKPOINT ACTUAL_CHECKPOINT");
assert!(
matches!(args.len(), 4 | 5),
"same EXPECTED_CHECKPOINT ACTUAL_CHECKPOINT [UNDO_FROM_CHECKPOINT]"
);
let expected = load(Path::new(&args[2]));
let actual = load(Path::new(&args[3]));
let (actual, disk) = load_checkpoint(Path::new(&args[3]));
assert_equal(&expected, &actual);
let origin = args.get(4).map(|entry| {
// The first committed checkpoint is itself exact. This keeps
// arbitrary pre-existing detached files out of the exception.
let committed = load(Path::new(entry));
predicted_disk(&committed.bundle, None)
});
assert_eq!(
disk,
predicted_disk(&expected.bundle, origin.as_ref()),
"Disk source files differ from the exact checkpoint plus explicitly proven retained Undo files"
);
println!(
"PASS exact checkpoint identity/model/{}-file SourceBundle equality",
actual.bundle.files.len()
"PASS exact checkpoint identity/model/{}-file SourceBundle equality; {} exact disk files ({} known retained)",
actual.bundle.files.len(),
disk.len(),
disk.len() - actual.bundle.files.len()
);
}
_ => panic!("self-check BASE | check STAGE BASE ACTUAL ROLES | same EXPECTED ACTUAL"),
_ => panic!(
"self-check BASE | check STAGE BASE ACTUAL ROLES | same EXPECTED ACTUAL [UNDO_FROM]"
),
}
}
@@ -0,0 +1,29 @@
# Analysis context experiment
This standalone Rust program compares explicit baseline/override studies (B) with complete independent case bindings (D). It is an isolated experiment, **not Studio syntax or a production model implementation**. Its expression language is deliberately limited to integer magnitudes in milliseconds, addition/sum, comparison, missing inputs and pure reusable functions.
The source owns the fixture generator, parser, explicit context resolver, dependency-cycle check, evaluator, frozen-snapshot operation, provenance observations and line-diff counter. All comparisons use the same 20 fixed inputs, 2 varying inputs and 20 named cases. The formula/check variants are either inline or factored into reusable pure definitions.
From the repository root, using the installed local toolchain:
```powershell
. .local/toolchain/env.ps1
New-Item -ItemType Directory -Force .local/analysis-context-20260911 | Out-Null
rustc --edition=2024 -D warnings -C linker=clang.exe harness/experiments/analysis-context-20260911/main.rs -o .local/analysis-context-20260911/analysis-context.exe
if ($LASTEXITCODE -ne 0) { throw 'Experiment compilation failed' }
& .local/analysis-context-20260911/analysis-context.exe harness/experiments/analysis-context-20260911/generated
if ($LASTEXITCODE -ne 0) { throw 'Experiment assertions failed' }
```
The program overwrites its named generated fixtures/results in the output directory. It does not invoke Cargo, modify `target`, or import Studio modules. `EVIDENCE.json` was recorded separately after the verified run and contains exact compiler, program/executable/result hashes and every generated source fixture hash. Rerunning after editing the program requires refreshing that evidence rather than trusting the old manifest.
- [Results](generated/RESULTS.md): executed counts and assertions.
- [Evidence](generated/EVIDENCE.json): final run identity and 29 fixture hashes.
- [B with factored calculations](generated/B-factored.study) and [D equivalent](generated/D-factored.study).
- [B case provenance](generated/B-factored-provenance.md).
- [Frozen B case](generated/B-factored-frozen-case20.study): complete independent snapshot, copied definitions and explicit captured row origins.
- [Interpretation and limitations](../../release-analysis-context-experiment-20260911.md).
The small dialect has explicit `study B/D revision`, a shared property catalog, optional pure `function` declarations, an explicit named `baseline` for B, and named cases declaring either `base engineering` or `independent`. `missing` is an entire binding hole. Removing a B override resolves the baseline; removing a required D row rejects. Function parameters cannot capture project properties. No case-to-case inheritance or implicit selected/default case exists.
Generated studies do not have OA/SA subjects, UUID identity, quantity kinds, persistent source editing, JSON/REST, library import resolution or native UI integration. The experiment compares context semantics and the actual emitted text size/edit count, not human completion time or end-to-end product conformance.
@@ -0,0 +1,107 @@
study B revision 1
properties fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02, total, budget
function budget_formula(result) = le(result, 22000)
function total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02) = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
baseline engineering revision 1
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 750
varying02 = 1000
end
case case01 base engineering
end
case case02 base engineering
varying01 = 800
varying02 = 1025
end
case case03 base engineering
varying01 = 850
varying02 = 1050
end
case case04 base engineering
varying01 = 900
varying02 = 1075
end
case case05 base engineering
varying01 = 950
varying02 = 1100
end
case case06 base engineering
varying01 = 1000
varying02 = 1125
end
case case07 base engineering
varying01 = 1050
varying02 = 1150
end
case case08 base engineering
varying01 = 1100
varying02 = 1175
end
case case09 base engineering
varying01 = 1150
varying02 = 1200
end
case case10 base engineering
varying01 = 1200
varying02 = 1225
end
case case11 base engineering
varying01 = 1250
varying02 = 1250
end
case case12 base engineering
varying01 = 1300
varying02 = 1275
end
case case13 base engineering
varying01 = 1350
varying02 = 1300
end
case case14 base engineering
varying01 = 1400
varying02 = 1325
end
case case15 base engineering
varying01 = 1450
varying02 = 1350
end
case case16 base engineering
varying01 = 1500
varying02 = 1375
end
case case17 base engineering
varying01 = 1550
varying02 = 1400
end
case case18 base engineering
varying01 = 1600
varying02 = 1425
end
case case19 base engineering
varying01 = 1650
varying02 = 1450
end
case case20 base engineering
varying02 = 1475
end
@@ -0,0 +1,108 @@
study B revision 1
properties fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02, total, budget
function budget_formula(result) = le(result, 22000)
function total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02) = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
baseline engineering revision 1
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 750
varying02 = 1000
end
case case01 base engineering
end
case case02 base engineering
varying01 = 800
varying02 = 1025
end
case case03 base engineering
varying01 = 850
varying02 = 1050
end
case case04 base engineering
varying01 = 900
varying02 = 1075
end
case case05 base engineering
varying01 = 950
varying02 = 1100
end
case case06 base engineering
varying01 = 1000
varying02 = 1125
end
case case07 base engineering
varying01 = 1050
varying02 = 1150
end
case case08 base engineering
varying01 = 1100
varying02 = 1175
end
case case09 base engineering
varying01 = 1150
varying02 = 1200
end
case case10 base engineering
varying01 = 1200
varying02 = 1225
end
case case11 base engineering
varying01 = 1250
varying02 = 1250
end
case case12 base engineering
varying01 = 1300
varying02 = 1275
end
case case13 base engineering
varying01 = 1350
varying02 = 1300
end
case case14 base engineering
varying01 = 1400
varying02 = 1325
end
case case15 base engineering
varying01 = 1450
varying02 = 1350
end
case case16 base engineering
varying01 = 1500
varying02 = 1375
end
case case17 base engineering
varying01 = 1550
varying02 = 1400
end
case case18 base engineering
varying01 = 1600
varying02 = 1425
end
case case19 base engineering
varying01 = 1650
varying02 = 1450
end
case case20 base engineering
varying01 = total
varying02 = 1475
end
@@ -0,0 +1,108 @@
study B revision 2
properties fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02, total, budget
function budget_formula(result) = le(result, 22000)
function total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02) = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
baseline engineering revision 2
budget = budget_formula(total)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 750
varying02 = 1000
end
case case01 base engineering
end
case case02 base engineering
varying01 = 800
varying02 = 1025
end
case case03 base engineering
varying01 = 850
varying02 = 1050
end
case case04 base engineering
varying01 = 900
varying02 = 1075
end
case case05 base engineering
varying01 = 950
varying02 = 1100
end
case case06 base engineering
varying01 = 1000
varying02 = 1125
end
case case07 base engineering
varying01 = 1050
varying02 = 1150
end
case case08 base engineering
varying01 = 1100
varying02 = 1175
end
case case09 base engineering
varying01 = 1150
varying02 = 1200
end
case case10 base engineering
varying01 = 1200
varying02 = 1225
end
case case11 base engineering
varying01 = 1250
varying02 = 1250
end
case case12 base engineering
varying01 = 1300
varying02 = 1275
end
case case13 base engineering
varying01 = 1350
varying02 = 1300
end
case case14 base engineering
varying01 = 1400
varying02 = 1325
end
case case15 base engineering
varying01 = 1450
varying02 = 1350
end
case case16 base engineering
varying01 = 1500
varying02 = 1375
end
case case17 base engineering
varying01 = 1550
varying02 = 1400
end
case case18 base engineering
varying01 = 1600
varying02 = 1425
end
case case19 base engineering
varying01 = 1650
varying02 = 1450
end
case case20 base engineering
varying01 = 1700
varying02 = 1475
end
@@ -0,0 +1,55 @@
study D revision 1
origin B:case20:document1:engineering@1
captured budget = baseline:engineering@1 via case20
captured fixed01 = baseline:engineering@1 via case20
captured fixed02 = baseline:engineering@1 via case20
captured fixed03 = baseline:engineering@1 via case20
captured fixed04 = baseline:engineering@1 via case20
captured fixed05 = baseline:engineering@1 via case20
captured fixed06 = baseline:engineering@1 via case20
captured fixed07 = baseline:engineering@1 via case20
captured fixed08 = baseline:engineering@1 via case20
captured fixed09 = baseline:engineering@1 via case20
captured fixed10 = baseline:engineering@1 via case20
captured fixed11 = baseline:engineering@1 via case20
captured fixed12 = baseline:engineering@1 via case20
captured fixed13 = baseline:engineering@1 via case20
captured fixed14 = baseline:engineering@1 via case20
captured fixed15 = baseline:engineering@1 via case20
captured fixed16 = baseline:engineering@1 via case20
captured fixed17 = baseline:engineering@1 via case20
captured fixed18 = baseline:engineering@1 via case20
captured fixed19 = baseline:engineering@1 via case20
captured fixed20 = baseline:engineering@1 via case20
captured total = baseline:engineering@1 via case20
captured varying01 = case:case20
captured varying02 = case:case20
properties fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02, total, budget
function budget_formula(result) = le(result, 22000)
function total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02) = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
case case20 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1700
varying02 = 1475
end
@@ -0,0 +1,108 @@
study B revision 1
properties fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02, total, budget
function budget_formula(result) = le(result, 22000)
function total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02) = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
baseline engineering revision 1
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 750
varying02 = 1000
end
case case01 base engineering
end
case case02 base engineering
varying01 = 800
varying02 = 1025
end
case case03 base engineering
varying01 = 850
varying02 = 1050
end
case case04 base engineering
varying01 = 900
varying02 = 1075
end
case case05 base engineering
varying01 = 950
varying02 = 1100
end
case case06 base engineering
varying01 = 1000
varying02 = 1125
end
case case07 base engineering
varying01 = 1050
varying02 = 1150
end
case case08 base engineering
varying01 = 1100
varying02 = 1175
end
case case09 base engineering
varying01 = 1150
varying02 = 1200
end
case case10 base engineering
varying01 = 1200
varying02 = 1225
end
case case11 base engineering
varying01 = 1250
varying02 = 1250
end
case case12 base engineering
varying01 = 1300
varying02 = 1275
end
case case13 base engineering
varying01 = 1350
varying02 = 1300
end
case case14 base engineering
varying01 = 1400
varying02 = 1325
end
case case15 base engineering
varying01 = 1450
varying02 = 1350
end
case case16 base engineering
varying01 = 1500
varying02 = 1375
end
case case17 base engineering
varying01 = 1550
varying02 = 1400
end
case case18 base engineering
varying01 = 1600
varying02 = 1425
end
case case19 base engineering
varying01 = 1650
varying02 = 1450
end
case case20 base engineering
varying01 = missing
varying02 = 1475
end
@@ -0,0 +1,31 @@
# B-factored: case20 evaluation
Value: Bool(false)
Document revision: 1
- budget: baseline:engineering@1 via case20
- fixed01: baseline:engineering@1 via case20
- fixed02: baseline:engineering@1 via case20
- fixed03: baseline:engineering@1 via case20
- fixed04: baseline:engineering@1 via case20
- fixed05: baseline:engineering@1 via case20
- fixed06: baseline:engineering@1 via case20
- fixed07: baseline:engineering@1 via case20
- fixed08: baseline:engineering@1 via case20
- fixed09: baseline:engineering@1 via case20
- fixed10: baseline:engineering@1 via case20
- fixed11: baseline:engineering@1 via case20
- fixed12: baseline:engineering@1 via case20
- fixed13: baseline:engineering@1 via case20
- fixed14: baseline:engineering@1 via case20
- fixed15: baseline:engineering@1 via case20
- fixed16: baseline:engineering@1 via case20
- fixed17: baseline:engineering@1 via case20
- fixed18: baseline:engineering@1 via case20
- fixed19: baseline:engineering@1 via case20
- fixed20: baseline:engineering@1 via case20
- total: baseline:engineering@1 via case20
- varying01: case:case20
- varying02: case:case20
Rejected cycle: case20: cycle: budget -> total -> varying01 -> total
@@ -0,0 +1,108 @@
study B revision 2
properties fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02, total, budget
function budget_formula(result) = le(result, 22500)
function total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02) = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
baseline engineering revision 1
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 750
varying02 = 1000
end
case case01 base engineering
end
case case02 base engineering
varying01 = 800
varying02 = 1025
end
case case03 base engineering
varying01 = 850
varying02 = 1050
end
case case04 base engineering
varying01 = 900
varying02 = 1075
end
case case05 base engineering
varying01 = 950
varying02 = 1100
end
case case06 base engineering
varying01 = 1000
varying02 = 1125
end
case case07 base engineering
varying01 = 1050
varying02 = 1150
end
case case08 base engineering
varying01 = 1100
varying02 = 1175
end
case case09 base engineering
varying01 = 1150
varying02 = 1200
end
case case10 base engineering
varying01 = 1200
varying02 = 1225
end
case case11 base engineering
varying01 = 1250
varying02 = 1250
end
case case12 base engineering
varying01 = 1300
varying02 = 1275
end
case case13 base engineering
varying01 = 1350
varying02 = 1300
end
case case14 base engineering
varying01 = 1400
varying02 = 1325
end
case case15 base engineering
varying01 = 1450
varying02 = 1350
end
case case16 base engineering
varying01 = 1500
varying02 = 1375
end
case case17 base engineering
varying01 = 1550
varying02 = 1400
end
case case18 base engineering
varying01 = 1600
varying02 = 1425
end
case case19 base engineering
varying01 = 1650
varying02 = 1450
end
case case20 base engineering
varying01 = 1700
varying02 = 1475
end
@@ -0,0 +1,108 @@
study B revision 1
properties fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02, total, budget
function budget_formula(result) = le(result, 22000)
function total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02) = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
baseline engineering revision 1
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 750
varying02 = 1000
end
case case01 base engineering
end
case case02 base engineering
varying01 = 800
varying02 = 1025
end
case case03 base engineering
varying01 = 850
varying02 = 1050
end
case case04 base engineering
varying01 = 900
varying02 = 1075
end
case case05 base engineering
varying01 = 950
varying02 = 1100
end
case case06 base engineering
varying01 = 1000
varying02 = 1125
end
case case07 base engineering
varying01 = 1050
varying02 = 1150
end
case case08 base engineering
varying01 = 1100
varying02 = 1175
end
case case09 base engineering
varying01 = 1150
varying02 = 1200
end
case case10 base engineering
varying01 = 1200
varying02 = 1225
end
case case11 base engineering
varying01 = 1250
varying02 = 1250
end
case case12 base engineering
varying01 = 1300
varying02 = 1275
end
case case13 base engineering
varying01 = 1350
varying02 = 1300
end
case case14 base engineering
varying01 = 1400
varying02 = 1325
end
case case15 base engineering
varying01 = 1450
varying02 = 1350
end
case case16 base engineering
varying01 = 1500
varying02 = 1375
end
case case17 base engineering
varying01 = 1550
varying02 = 1400
end
case case18 base engineering
varying01 = 1600
varying02 = 1425
end
case case19 base engineering
varying01 = 1650
varying02 = 1450
end
case case20 base engineering
varying01 = 1700
varying02 = 1475
end
@@ -0,0 +1,105 @@
study B revision 1
properties fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02, total, budget
baseline engineering revision 1
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 750
varying02 = 1000
end
case case01 base engineering
end
case case02 base engineering
varying01 = 800
varying02 = 1025
end
case case03 base engineering
varying01 = 850
varying02 = 1050
end
case case04 base engineering
varying01 = 900
varying02 = 1075
end
case case05 base engineering
varying01 = 950
varying02 = 1100
end
case case06 base engineering
varying01 = 1000
varying02 = 1125
end
case case07 base engineering
varying01 = 1050
varying02 = 1150
end
case case08 base engineering
varying01 = 1100
varying02 = 1175
end
case case09 base engineering
varying01 = 1150
varying02 = 1200
end
case case10 base engineering
varying01 = 1200
varying02 = 1225
end
case case11 base engineering
varying01 = 1250
varying02 = 1250
end
case case12 base engineering
varying01 = 1300
varying02 = 1275
end
case case13 base engineering
varying01 = 1350
varying02 = 1300
end
case case14 base engineering
varying01 = 1400
varying02 = 1325
end
case case15 base engineering
varying01 = 1450
varying02 = 1350
end
case case16 base engineering
varying01 = 1500
varying02 = 1375
end
case case17 base engineering
varying01 = 1550
varying02 = 1400
end
case case18 base engineering
varying01 = 1600
varying02 = 1425
end
case case19 base engineering
varying01 = 1650
varying02 = 1450
end
case case20 base engineering
varying02 = 1475
end
@@ -0,0 +1,106 @@
study B revision 1
properties fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02, total, budget
baseline engineering revision 1
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 750
varying02 = 1000
end
case case01 base engineering
end
case case02 base engineering
varying01 = 800
varying02 = 1025
end
case case03 base engineering
varying01 = 850
varying02 = 1050
end
case case04 base engineering
varying01 = 900
varying02 = 1075
end
case case05 base engineering
varying01 = 950
varying02 = 1100
end
case case06 base engineering
varying01 = 1000
varying02 = 1125
end
case case07 base engineering
varying01 = 1050
varying02 = 1150
end
case case08 base engineering
varying01 = 1100
varying02 = 1175
end
case case09 base engineering
varying01 = 1150
varying02 = 1200
end
case case10 base engineering
varying01 = 1200
varying02 = 1225
end
case case11 base engineering
varying01 = 1250
varying02 = 1250
end
case case12 base engineering
varying01 = 1300
varying02 = 1275
end
case case13 base engineering
varying01 = 1350
varying02 = 1300
end
case case14 base engineering
varying01 = 1400
varying02 = 1325
end
case case15 base engineering
varying01 = 1450
varying02 = 1350
end
case case16 base engineering
varying01 = 1500
varying02 = 1375
end
case case17 base engineering
varying01 = 1550
varying02 = 1400
end
case case18 base engineering
varying01 = 1600
varying02 = 1425
end
case case19 base engineering
varying01 = 1650
varying02 = 1450
end
case case20 base engineering
varying01 = total
varying02 = 1475
end
@@ -0,0 +1,106 @@
study B revision 2
properties fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02, total, budget
baseline engineering revision 2
budget = le(total, 22000)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 750
varying02 = 1000
end
case case01 base engineering
end
case case02 base engineering
varying01 = 800
varying02 = 1025
end
case case03 base engineering
varying01 = 850
varying02 = 1050
end
case case04 base engineering
varying01 = 900
varying02 = 1075
end
case case05 base engineering
varying01 = 950
varying02 = 1100
end
case case06 base engineering
varying01 = 1000
varying02 = 1125
end
case case07 base engineering
varying01 = 1050
varying02 = 1150
end
case case08 base engineering
varying01 = 1100
varying02 = 1175
end
case case09 base engineering
varying01 = 1150
varying02 = 1200
end
case case10 base engineering
varying01 = 1200
varying02 = 1225
end
case case11 base engineering
varying01 = 1250
varying02 = 1250
end
case case12 base engineering
varying01 = 1300
varying02 = 1275
end
case case13 base engineering
varying01 = 1350
varying02 = 1300
end
case case14 base engineering
varying01 = 1400
varying02 = 1325
end
case case15 base engineering
varying01 = 1450
varying02 = 1350
end
case case16 base engineering
varying01 = 1500
varying02 = 1375
end
case case17 base engineering
varying01 = 1550
varying02 = 1400
end
case case18 base engineering
varying01 = 1600
varying02 = 1425
end
case case19 base engineering
varying01 = 1650
varying02 = 1450
end
case case20 base engineering
varying01 = 1700
varying02 = 1475
end
@@ -0,0 +1,53 @@
study D revision 1
origin B:case20:document1:engineering@1
captured budget = baseline:engineering@1 via case20
captured fixed01 = baseline:engineering@1 via case20
captured fixed02 = baseline:engineering@1 via case20
captured fixed03 = baseline:engineering@1 via case20
captured fixed04 = baseline:engineering@1 via case20
captured fixed05 = baseline:engineering@1 via case20
captured fixed06 = baseline:engineering@1 via case20
captured fixed07 = baseline:engineering@1 via case20
captured fixed08 = baseline:engineering@1 via case20
captured fixed09 = baseline:engineering@1 via case20
captured fixed10 = baseline:engineering@1 via case20
captured fixed11 = baseline:engineering@1 via case20
captured fixed12 = baseline:engineering@1 via case20
captured fixed13 = baseline:engineering@1 via case20
captured fixed14 = baseline:engineering@1 via case20
captured fixed15 = baseline:engineering@1 via case20
captured fixed16 = baseline:engineering@1 via case20
captured fixed17 = baseline:engineering@1 via case20
captured fixed18 = baseline:engineering@1 via case20
captured fixed19 = baseline:engineering@1 via case20
captured fixed20 = baseline:engineering@1 via case20
captured total = baseline:engineering@1 via case20
captured varying01 = case:case20
captured varying02 = case:case20
properties fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02, total, budget
case case20 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1700
varying02 = 1475
end
@@ -0,0 +1,106 @@
study B revision 1
properties fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02, total, budget
baseline engineering revision 1
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 750
varying02 = 1000
end
case case01 base engineering
end
case case02 base engineering
varying01 = 800
varying02 = 1025
end
case case03 base engineering
varying01 = 850
varying02 = 1050
end
case case04 base engineering
varying01 = 900
varying02 = 1075
end
case case05 base engineering
varying01 = 950
varying02 = 1100
end
case case06 base engineering
varying01 = 1000
varying02 = 1125
end
case case07 base engineering
varying01 = 1050
varying02 = 1150
end
case case08 base engineering
varying01 = 1100
varying02 = 1175
end
case case09 base engineering
varying01 = 1150
varying02 = 1200
end
case case10 base engineering
varying01 = 1200
varying02 = 1225
end
case case11 base engineering
varying01 = 1250
varying02 = 1250
end
case case12 base engineering
varying01 = 1300
varying02 = 1275
end
case case13 base engineering
varying01 = 1350
varying02 = 1300
end
case case14 base engineering
varying01 = 1400
varying02 = 1325
end
case case15 base engineering
varying01 = 1450
varying02 = 1350
end
case case16 base engineering
varying01 = 1500
varying02 = 1375
end
case case17 base engineering
varying01 = 1550
varying02 = 1400
end
case case18 base engineering
varying01 = 1600
varying02 = 1425
end
case case19 base engineering
varying01 = 1650
varying02 = 1450
end
case case20 base engineering
varying01 = missing
varying02 = 1475
end
@@ -0,0 +1,31 @@
# B-inline: case20 evaluation
Value: Bool(false)
Document revision: 1
- budget: baseline:engineering@1 via case20
- fixed01: baseline:engineering@1 via case20
- fixed02: baseline:engineering@1 via case20
- fixed03: baseline:engineering@1 via case20
- fixed04: baseline:engineering@1 via case20
- fixed05: baseline:engineering@1 via case20
- fixed06: baseline:engineering@1 via case20
- fixed07: baseline:engineering@1 via case20
- fixed08: baseline:engineering@1 via case20
- fixed09: baseline:engineering@1 via case20
- fixed10: baseline:engineering@1 via case20
- fixed11: baseline:engineering@1 via case20
- fixed12: baseline:engineering@1 via case20
- fixed13: baseline:engineering@1 via case20
- fixed14: baseline:engineering@1 via case20
- fixed15: baseline:engineering@1 via case20
- fixed16: baseline:engineering@1 via case20
- fixed17: baseline:engineering@1 via case20
- fixed18: baseline:engineering@1 via case20
- fixed19: baseline:engineering@1 via case20
- fixed20: baseline:engineering@1 via case20
- total: baseline:engineering@1 via case20
- varying01: case:case20
- varying02: case:case20
Rejected cycle: case20: cycle: budget -> total -> varying01 -> total
@@ -0,0 +1,106 @@
study B revision 2
properties fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02, total, budget
baseline engineering revision 2
budget = le(total, 22500)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 750
varying02 = 1000
end
case case01 base engineering
end
case case02 base engineering
varying01 = 800
varying02 = 1025
end
case case03 base engineering
varying01 = 850
varying02 = 1050
end
case case04 base engineering
varying01 = 900
varying02 = 1075
end
case case05 base engineering
varying01 = 950
varying02 = 1100
end
case case06 base engineering
varying01 = 1000
varying02 = 1125
end
case case07 base engineering
varying01 = 1050
varying02 = 1150
end
case case08 base engineering
varying01 = 1100
varying02 = 1175
end
case case09 base engineering
varying01 = 1150
varying02 = 1200
end
case case10 base engineering
varying01 = 1200
varying02 = 1225
end
case case11 base engineering
varying01 = 1250
varying02 = 1250
end
case case12 base engineering
varying01 = 1300
varying02 = 1275
end
case case13 base engineering
varying01 = 1350
varying02 = 1300
end
case case14 base engineering
varying01 = 1400
varying02 = 1325
end
case case15 base engineering
varying01 = 1450
varying02 = 1350
end
case case16 base engineering
varying01 = 1500
varying02 = 1375
end
case case17 base engineering
varying01 = 1550
varying02 = 1400
end
case case18 base engineering
varying01 = 1600
varying02 = 1425
end
case case19 base engineering
varying01 = 1650
varying02 = 1450
end
case case20 base engineering
varying01 = 1700
varying02 = 1475
end
@@ -0,0 +1,106 @@
study B revision 1
properties fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02, total, budget
baseline engineering revision 1
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 750
varying02 = 1000
end
case case01 base engineering
end
case case02 base engineering
varying01 = 800
varying02 = 1025
end
case case03 base engineering
varying01 = 850
varying02 = 1050
end
case case04 base engineering
varying01 = 900
varying02 = 1075
end
case case05 base engineering
varying01 = 950
varying02 = 1100
end
case case06 base engineering
varying01 = 1000
varying02 = 1125
end
case case07 base engineering
varying01 = 1050
varying02 = 1150
end
case case08 base engineering
varying01 = 1100
varying02 = 1175
end
case case09 base engineering
varying01 = 1150
varying02 = 1200
end
case case10 base engineering
varying01 = 1200
varying02 = 1225
end
case case11 base engineering
varying01 = 1250
varying02 = 1250
end
case case12 base engineering
varying01 = 1300
varying02 = 1275
end
case case13 base engineering
varying01 = 1350
varying02 = 1300
end
case case14 base engineering
varying01 = 1400
varying02 = 1325
end
case case15 base engineering
varying01 = 1450
varying02 = 1350
end
case case16 base engineering
varying01 = 1500
varying02 = 1375
end
case case17 base engineering
varying01 = 1550
varying02 = 1400
end
case case18 base engineering
varying01 = 1600
varying02 = 1425
end
case case19 base engineering
varying01 = 1650
varying02 = 1450
end
case case20 base engineering
varying01 = 1700
varying02 = 1475
end
@@ -0,0 +1,524 @@
study D revision 1
properties fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02, total, budget
function budget_formula(result) = le(result, 22000)
function total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02) = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
case case01 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 750
varying02 = 1000
end
case case02 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 800
varying02 = 1025
end
case case03 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 850
varying02 = 1050
end
case case04 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 900
varying02 = 1075
end
case case05 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 950
varying02 = 1100
end
case case06 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1000
varying02 = 1125
end
case case07 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1050
varying02 = 1150
end
case case08 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1100
varying02 = 1175
end
case case09 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1150
varying02 = 1200
end
case case10 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1200
varying02 = 1225
end
case case11 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1250
varying02 = 1250
end
case case12 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1300
varying02 = 1275
end
case case13 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1350
varying02 = 1300
end
case case14 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1400
varying02 = 1325
end
case case15 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1450
varying02 = 1350
end
case case16 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1500
varying02 = 1375
end
case case17 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1550
varying02 = 1400
end
case case18 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1600
varying02 = 1425
end
case case19 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1650
varying02 = 1450
end
case case20 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = total
varying02 = 1475
end
@@ -0,0 +1,523 @@
study D revision 1
properties fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02, total, budget
function budget_formula(result) = le(result, 22000)
function total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02) = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
case case01 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 750
varying02 = 1000
end
case case02 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 800
varying02 = 1025
end
case case03 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 850
varying02 = 1050
end
case case04 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 900
varying02 = 1075
end
case case05 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 950
varying02 = 1100
end
case case06 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1000
varying02 = 1125
end
case case07 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1050
varying02 = 1150
end
case case08 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1100
varying02 = 1175
end
case case09 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1150
varying02 = 1200
end
case case10 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1200
varying02 = 1225
end
case case11 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1250
varying02 = 1250
end
case case12 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1300
varying02 = 1275
end
case case13 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1350
varying02 = 1300
end
case case14 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1400
varying02 = 1325
end
case case15 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1450
varying02 = 1350
end
case case16 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1500
varying02 = 1375
end
case case17 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1550
varying02 = 1400
end
case case18 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1600
varying02 = 1425
end
case case19 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1650
varying02 = 1450
end
case case20 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying02 = 1475
end
@@ -0,0 +1,524 @@
study D revision 2
properties fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02, total, budget
function budget_formula(result) = le(result, 22000)
function total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02) = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
case case01 independent
budget = budget_formula(total)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 750
varying02 = 1000
end
case case02 independent
budget = budget_formula(total)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 800
varying02 = 1025
end
case case03 independent
budget = budget_formula(total)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 850
varying02 = 1050
end
case case04 independent
budget = budget_formula(total)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 900
varying02 = 1075
end
case case05 independent
budget = budget_formula(total)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 950
varying02 = 1100
end
case case06 independent
budget = budget_formula(total)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1000
varying02 = 1125
end
case case07 independent
budget = budget_formula(total)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1050
varying02 = 1150
end
case case08 independent
budget = budget_formula(total)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1100
varying02 = 1175
end
case case09 independent
budget = budget_formula(total)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1150
varying02 = 1200
end
case case10 independent
budget = budget_formula(total)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1200
varying02 = 1225
end
case case11 independent
budget = budget_formula(total)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1250
varying02 = 1250
end
case case12 independent
budget = budget_formula(total)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1300
varying02 = 1275
end
case case13 independent
budget = budget_formula(total)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1350
varying02 = 1300
end
case case14 independent
budget = budget_formula(total)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1400
varying02 = 1325
end
case case15 independent
budget = budget_formula(total)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1450
varying02 = 1350
end
case case16 independent
budget = budget_formula(total)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1500
varying02 = 1375
end
case case17 independent
budget = budget_formula(total)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1550
varying02 = 1400
end
case case18 independent
budget = budget_formula(total)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1600
varying02 = 1425
end
case case19 independent
budget = budget_formula(total)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1650
varying02 = 1450
end
case case20 independent
budget = budget_formula(total)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1700
varying02 = 1475
end
@@ -0,0 +1,55 @@
study D revision 1
origin D:case20:document1
captured budget = case:case20
captured fixed01 = case:case20
captured fixed02 = case:case20
captured fixed03 = case:case20
captured fixed04 = case:case20
captured fixed05 = case:case20
captured fixed06 = case:case20
captured fixed07 = case:case20
captured fixed08 = case:case20
captured fixed09 = case:case20
captured fixed10 = case:case20
captured fixed11 = case:case20
captured fixed12 = case:case20
captured fixed13 = case:case20
captured fixed14 = case:case20
captured fixed15 = case:case20
captured fixed16 = case:case20
captured fixed17 = case:case20
captured fixed18 = case:case20
captured fixed19 = case:case20
captured fixed20 = case:case20
captured total = case:case20
captured varying01 = case:case20
captured varying02 = case:case20
properties fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02, total, budget
function budget_formula(result) = le(result, 22000)
function total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02) = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
case case20 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1700
varying02 = 1475
end
@@ -0,0 +1,524 @@
study D revision 1
properties fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02, total, budget
function budget_formula(result) = le(result, 22000)
function total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02) = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
case case01 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 750
varying02 = 1000
end
case case02 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 800
varying02 = 1025
end
case case03 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 850
varying02 = 1050
end
case case04 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 900
varying02 = 1075
end
case case05 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 950
varying02 = 1100
end
case case06 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1000
varying02 = 1125
end
case case07 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1050
varying02 = 1150
end
case case08 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1100
varying02 = 1175
end
case case09 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1150
varying02 = 1200
end
case case10 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1200
varying02 = 1225
end
case case11 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1250
varying02 = 1250
end
case case12 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1300
varying02 = 1275
end
case case13 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1350
varying02 = 1300
end
case case14 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1400
varying02 = 1325
end
case case15 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1450
varying02 = 1350
end
case case16 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1500
varying02 = 1375
end
case case17 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1550
varying02 = 1400
end
case case18 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1600
varying02 = 1425
end
case case19 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1650
varying02 = 1450
end
case case20 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = missing
varying02 = 1475
end
@@ -0,0 +1,31 @@
# D-factored: case20 evaluation
Value: Bool(false)
Document revision: 1
- budget: case:case20
- fixed01: case:case20
- fixed02: case:case20
- fixed03: case:case20
- fixed04: case:case20
- fixed05: case:case20
- fixed06: case:case20
- fixed07: case:case20
- fixed08: case:case20
- fixed09: case:case20
- fixed10: case:case20
- fixed11: case:case20
- fixed12: case:case20
- fixed13: case:case20
- fixed14: case:case20
- fixed15: case:case20
- fixed16: case:case20
- fixed17: case:case20
- fixed18: case:case20
- fixed19: case:case20
- fixed20: case:case20
- total: case:case20
- varying01: case:case20
- varying02: case:case20
Rejected cycle: case20: cycle: budget -> total -> varying01 -> total
@@ -0,0 +1,524 @@
study D revision 2
properties fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02, total, budget
function budget_formula(result) = le(result, 22500)
function total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02) = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
case case01 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 750
varying02 = 1000
end
case case02 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 800
varying02 = 1025
end
case case03 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 850
varying02 = 1050
end
case case04 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 900
varying02 = 1075
end
case case05 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 950
varying02 = 1100
end
case case06 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1000
varying02 = 1125
end
case case07 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1050
varying02 = 1150
end
case case08 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1100
varying02 = 1175
end
case case09 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1150
varying02 = 1200
end
case case10 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1200
varying02 = 1225
end
case case11 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1250
varying02 = 1250
end
case case12 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1300
varying02 = 1275
end
case case13 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1350
varying02 = 1300
end
case case14 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1400
varying02 = 1325
end
case case15 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1450
varying02 = 1350
end
case case16 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1500
varying02 = 1375
end
case case17 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1550
varying02 = 1400
end
case case18 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1600
varying02 = 1425
end
case case19 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1650
varying02 = 1450
end
case case20 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1700
varying02 = 1475
end
@@ -0,0 +1,524 @@
study D revision 1
properties fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02, total, budget
function budget_formula(result) = le(result, 22000)
function total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02) = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
case case01 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 750
varying02 = 1000
end
case case02 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 800
varying02 = 1025
end
case case03 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 850
varying02 = 1050
end
case case04 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 900
varying02 = 1075
end
case case05 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 950
varying02 = 1100
end
case case06 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1000
varying02 = 1125
end
case case07 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1050
varying02 = 1150
end
case case08 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1100
varying02 = 1175
end
case case09 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1150
varying02 = 1200
end
case case10 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1200
varying02 = 1225
end
case case11 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1250
varying02 = 1250
end
case case12 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1300
varying02 = 1275
end
case case13 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1350
varying02 = 1300
end
case case14 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1400
varying02 = 1325
end
case case15 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1450
varying02 = 1350
end
case case16 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1500
varying02 = 1375
end
case case17 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1550
varying02 = 1400
end
case case18 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1600
varying02 = 1425
end
case case19 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1650
varying02 = 1450
end
case case20 independent
budget = budget_formula(total)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = total_formula(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1700
varying02 = 1475
end
@@ -0,0 +1,522 @@
study D revision 1
properties fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02, total, budget
case case01 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 750
varying02 = 1000
end
case case02 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 800
varying02 = 1025
end
case case03 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 850
varying02 = 1050
end
case case04 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 900
varying02 = 1075
end
case case05 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 950
varying02 = 1100
end
case case06 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1000
varying02 = 1125
end
case case07 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1050
varying02 = 1150
end
case case08 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1100
varying02 = 1175
end
case case09 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1150
varying02 = 1200
end
case case10 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1200
varying02 = 1225
end
case case11 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1250
varying02 = 1250
end
case case12 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1300
varying02 = 1275
end
case case13 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1350
varying02 = 1300
end
case case14 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1400
varying02 = 1325
end
case case15 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1450
varying02 = 1350
end
case case16 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1500
varying02 = 1375
end
case case17 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1550
varying02 = 1400
end
case case18 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1600
varying02 = 1425
end
case case19 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1650
varying02 = 1450
end
case case20 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = total
varying02 = 1475
end
@@ -0,0 +1,521 @@
study D revision 1
properties fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02, total, budget
case case01 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 750
varying02 = 1000
end
case case02 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 800
varying02 = 1025
end
case case03 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 850
varying02 = 1050
end
case case04 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 900
varying02 = 1075
end
case case05 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 950
varying02 = 1100
end
case case06 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1000
varying02 = 1125
end
case case07 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1050
varying02 = 1150
end
case case08 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1100
varying02 = 1175
end
case case09 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1150
varying02 = 1200
end
case case10 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1200
varying02 = 1225
end
case case11 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1250
varying02 = 1250
end
case case12 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1300
varying02 = 1275
end
case case13 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1350
varying02 = 1300
end
case case14 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1400
varying02 = 1325
end
case case15 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1450
varying02 = 1350
end
case case16 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1500
varying02 = 1375
end
case case17 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1550
varying02 = 1400
end
case case18 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1600
varying02 = 1425
end
case case19 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1650
varying02 = 1450
end
case case20 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying02 = 1475
end
@@ -0,0 +1,522 @@
study D revision 2
properties fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02, total, budget
case case01 independent
budget = le(total, 22000)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 750
varying02 = 1000
end
case case02 independent
budget = le(total, 22000)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 800
varying02 = 1025
end
case case03 independent
budget = le(total, 22000)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 850
varying02 = 1050
end
case case04 independent
budget = le(total, 22000)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 900
varying02 = 1075
end
case case05 independent
budget = le(total, 22000)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 950
varying02 = 1100
end
case case06 independent
budget = le(total, 22000)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1000
varying02 = 1125
end
case case07 independent
budget = le(total, 22000)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1050
varying02 = 1150
end
case case08 independent
budget = le(total, 22000)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1100
varying02 = 1175
end
case case09 independent
budget = le(total, 22000)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1150
varying02 = 1200
end
case case10 independent
budget = le(total, 22000)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1200
varying02 = 1225
end
case case11 independent
budget = le(total, 22000)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1250
varying02 = 1250
end
case case12 independent
budget = le(total, 22000)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1300
varying02 = 1275
end
case case13 independent
budget = le(total, 22000)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1350
varying02 = 1300
end
case case14 independent
budget = le(total, 22000)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1400
varying02 = 1325
end
case case15 independent
budget = le(total, 22000)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1450
varying02 = 1350
end
case case16 independent
budget = le(total, 22000)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1500
varying02 = 1375
end
case case17 independent
budget = le(total, 22000)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1550
varying02 = 1400
end
case case18 independent
budget = le(total, 22000)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1600
varying02 = 1425
end
case case19 independent
budget = le(total, 22000)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1650
varying02 = 1450
end
case case20 independent
budget = le(total, 22000)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1700
varying02 = 1475
end
@@ -0,0 +1,522 @@
study D revision 2
properties fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02, total, budget
case case01 independent
budget = le(total, 22000)
fixed01 = 1200
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 750
varying02 = 1000
end
case case02 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 800
varying02 = 1025
end
case case03 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 850
varying02 = 1050
end
case case04 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 900
varying02 = 1075
end
case case05 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 950
varying02 = 1100
end
case case06 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1000
varying02 = 1125
end
case case07 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1050
varying02 = 1150
end
case case08 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1100
varying02 = 1175
end
case case09 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1150
varying02 = 1200
end
case case10 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1200
varying02 = 1225
end
case case11 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1250
varying02 = 1250
end
case case12 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1300
varying02 = 1275
end
case case13 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1350
varying02 = 1300
end
case case14 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1400
varying02 = 1325
end
case case15 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1450
varying02 = 1350
end
case case16 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1500
varying02 = 1375
end
case case17 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1550
varying02 = 1400
end
case case18 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1600
varying02 = 1425
end
case case19 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1650
varying02 = 1450
end
case case20 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1700
varying02 = 1475
end
@@ -0,0 +1,53 @@
study D revision 1
origin D:case20:document1
captured budget = case:case20
captured fixed01 = case:case20
captured fixed02 = case:case20
captured fixed03 = case:case20
captured fixed04 = case:case20
captured fixed05 = case:case20
captured fixed06 = case:case20
captured fixed07 = case:case20
captured fixed08 = case:case20
captured fixed09 = case:case20
captured fixed10 = case:case20
captured fixed11 = case:case20
captured fixed12 = case:case20
captured fixed13 = case:case20
captured fixed14 = case:case20
captured fixed15 = case:case20
captured fixed16 = case:case20
captured fixed17 = case:case20
captured fixed18 = case:case20
captured fixed19 = case:case20
captured fixed20 = case:case20
captured total = case:case20
captured varying01 = case:case20
captured varying02 = case:case20
properties fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02, total, budget
case case20 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1700
varying02 = 1475
end
@@ -0,0 +1,522 @@
study D revision 1
properties fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02, total, budget
case case01 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 750
varying02 = 1000
end
case case02 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 800
varying02 = 1025
end
case case03 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 850
varying02 = 1050
end
case case04 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 900
varying02 = 1075
end
case case05 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 950
varying02 = 1100
end
case case06 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1000
varying02 = 1125
end
case case07 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1050
varying02 = 1150
end
case case08 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1100
varying02 = 1175
end
case case09 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1150
varying02 = 1200
end
case case10 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1200
varying02 = 1225
end
case case11 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1250
varying02 = 1250
end
case case12 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1300
varying02 = 1275
end
case case13 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1350
varying02 = 1300
end
case case14 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1400
varying02 = 1325
end
case case15 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1450
varying02 = 1350
end
case case16 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1500
varying02 = 1375
end
case case17 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1550
varying02 = 1400
end
case case18 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1600
varying02 = 1425
end
case case19 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1650
varying02 = 1450
end
case case20 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = missing
varying02 = 1475
end
@@ -0,0 +1,31 @@
# D-inline: case20 evaluation
Value: Bool(false)
Document revision: 1
- budget: case:case20
- fixed01: case:case20
- fixed02: case:case20
- fixed03: case:case20
- fixed04: case:case20
- fixed05: case:case20
- fixed06: case:case20
- fixed07: case:case20
- fixed08: case:case20
- fixed09: case:case20
- fixed10: case:case20
- fixed11: case:case20
- fixed12: case:case20
- fixed13: case:case20
- fixed14: case:case20
- fixed15: case:case20
- fixed16: case:case20
- fixed17: case:case20
- fixed18: case:case20
- fixed19: case:case20
- fixed20: case:case20
- total: case:case20
- varying01: case:case20
- varying02: case:case20
Rejected cycle: case20: cycle: budget -> total -> varying01 -> total
@@ -0,0 +1,522 @@
study D revision 2
properties fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02, total, budget
case case01 independent
budget = le(total, 22500)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 750
varying02 = 1000
end
case case02 independent
budget = le(total, 22500)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 800
varying02 = 1025
end
case case03 independent
budget = le(total, 22500)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 850
varying02 = 1050
end
case case04 independent
budget = le(total, 22500)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 900
varying02 = 1075
end
case case05 independent
budget = le(total, 22500)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 950
varying02 = 1100
end
case case06 independent
budget = le(total, 22500)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1000
varying02 = 1125
end
case case07 independent
budget = le(total, 22500)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1050
varying02 = 1150
end
case case08 independent
budget = le(total, 22500)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1100
varying02 = 1175
end
case case09 independent
budget = le(total, 22500)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1150
varying02 = 1200
end
case case10 independent
budget = le(total, 22500)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1200
varying02 = 1225
end
case case11 independent
budget = le(total, 22500)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1250
varying02 = 1250
end
case case12 independent
budget = le(total, 22500)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1300
varying02 = 1275
end
case case13 independent
budget = le(total, 22500)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1350
varying02 = 1300
end
case case14 independent
budget = le(total, 22500)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1400
varying02 = 1325
end
case case15 independent
budget = le(total, 22500)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1450
varying02 = 1350
end
case case16 independent
budget = le(total, 22500)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1500
varying02 = 1375
end
case case17 independent
budget = le(total, 22500)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1550
varying02 = 1400
end
case case18 independent
budget = le(total, 22500)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1600
varying02 = 1425
end
case case19 independent
budget = le(total, 22500)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1650
varying02 = 1450
end
case case20 independent
budget = le(total, 22500)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1700
varying02 = 1475
end
@@ -0,0 +1,522 @@
study D revision 1
properties fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02, total, budget
case case01 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 750
varying02 = 1000
end
case case02 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 800
varying02 = 1025
end
case case03 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 850
varying02 = 1050
end
case case04 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 900
varying02 = 1075
end
case case05 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 950
varying02 = 1100
end
case case06 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1000
varying02 = 1125
end
case case07 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1050
varying02 = 1150
end
case case08 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1100
varying02 = 1175
end
case case09 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1150
varying02 = 1200
end
case case10 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1200
varying02 = 1225
end
case case11 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1250
varying02 = 1250
end
case case12 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1300
varying02 = 1275
end
case case13 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1350
varying02 = 1300
end
case case14 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1400
varying02 = 1325
end
case case15 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1450
varying02 = 1350
end
case case16 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1500
varying02 = 1375
end
case case17 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1550
varying02 = 1400
end
case case18 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1600
varying02 = 1425
end
case case19 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1650
varying02 = 1450
end
case case20 independent
budget = le(total, 22000)
fixed01 = 1000
fixed02 = 1000
fixed03 = 1000
fixed04 = 1000
fixed05 = 1000
fixed06 = 1000
fixed07 = 1000
fixed08 = 1000
fixed09 = 1000
fixed10 = 1000
fixed11 = 1000
fixed12 = 1000
fixed13 = 1000
fixed14 = 1000
fixed15 = 1000
fixed16 = 1000
fixed17 = 1000
fixed18 = 1000
fixed19 = 1000
fixed20 = 1000
total = sum(fixed01, fixed02, fixed03, fixed04, fixed05, fixed06, fixed07, fixed08, fixed09, fixed10, fixed11, fixed12, fixed13, fixed14, fixed15, fixed16, fixed17, fixed18, fixed19, fixed20, varying01, varying02)
varying01 = 1700
varying02 = 1475
end
@@ -0,0 +1,166 @@
{
"recorded_utc": "2026-09-11T08:50:38.6429749Z",
"compiler": [
"rustc 1.98.1 (48a229cea 2026-09-01)",
"binary: rustc",
"commit-hash: 48a229ceaefd4985c50990b14116b6d856af0985",
"commit-date: 2026-09-01",
"host: x86_64-pc-windows-gnullvm",
"release: 1.98.1",
"LLVM version: 22.1.8"
],
"compile_command": "rustc --edition=2024 -D warnings -C linker=clang.exe harness/experiments/analysis-context-20260911/main.rs -o .local/analysis-context-20260911/analysis-context.exe",
"run_command": ".local/analysis-context-20260911/analysis-context.exe harness/experiments/analysis-context-20260911/generated",
"process_exit_code": 0,
"assertions_passed": 218,
"program_sha256": "5632ACAFD06413DCC9961DDC1ADE60C7556FB56B43ED3C667F5106E7559A3733",
"executable_sha256": "36E2D5A7F0683CC19F2EB50CA4840F3A793A8350498E3E17EDD75710A78FC675",
"results_sha256": "248419751E9B836CDE6D80F97202843DD5DC085D1BEC67CB2FCC5046960C143B",
"fixture_hashes": [
{
"path": "harness/experiments/analysis-context-20260911/generated/B-factored-cleared-override.study",
"sha256": "DD740295FB0F849A63815AE3174EB067616687A5D46BD63089A6AA279F9D48B8",
"bytes": 2762
},
{
"path": "harness/experiments/analysis-context-20260911/generated/B-factored-cycle.rejected-study",
"sha256": "4FF294ACA6EDBAD60CB6C899D2B1D93B8E07337A295DBC63876A4497DC9D58EA",
"bytes": 2782
},
{
"path": "harness/experiments/analysis-context-20260911/generated/B-factored-fixed-all.study",
"sha256": "A51BD1F3EF7153D67FB63EAB2B9906E9FFB0049A2179B47C632ABB3E9B01A0F4",
"bytes": 2781
},
{
"path": "harness/experiments/analysis-context-20260911/generated/B-factored-frozen-case20.study",
"sha256": "05370CCB21E0B0AB8F26F9704FBECA1BE44FA1156FBF6C8420E09C436D016476",
"bytes": 2665
},
{
"path": "harness/experiments/analysis-context-20260911/generated/B-factored-missing.study",
"sha256": "D6D1B53B307836275A417C3CB094881F91755D1FAD0D521CE9B90FE1FD8F039D",
"bytes": 2784
},
{
"path": "harness/experiments/analysis-context-20260911/generated/B-factored-threshold.study",
"sha256": "86C5DC5FCA452A9CD7FC13318D72BE81973802C13F878D488561551D27F62C67",
"bytes": 2781
},
{
"path": "harness/experiments/analysis-context-20260911/generated/B-factored.study",
"sha256": "0C2B9F055E4E6993A14688A0F58BD6629F724687DC694D7213166197B197B878",
"bytes": 2781
},
{
"path": "harness/experiments/analysis-context-20260911/generated/B-inline-cleared-override.study",
"sha256": "8FC77924459D892D1E91CF1756C708ED34005ED840F3A38B98474037BBEC4FA1",
"bytes": 2262
},
{
"path": "harness/experiments/analysis-context-20260911/generated/B-inline-cycle.rejected-study",
"sha256": "3D8249B3DDB21F36C765AF440F6DE0E9E7B125E6504A07BDD3BA83E7B94CE9E1",
"bytes": 2282
},
{
"path": "harness/experiments/analysis-context-20260911/generated/B-inline-fixed-all.study",
"sha256": "CD32AE6CDE2E21AFBB536109A9D2911ECC3572A9BE368C2D877EE3EB8F2D2303",
"bytes": 2281
},
{
"path": "harness/experiments/analysis-context-20260911/generated/B-inline-frozen-case20.study",
"sha256": "B09AF2449DD8E2DAEB5F0B4AE0FF9AC914227B6FE619B4B0139FEF0778B7FB7A",
"bytes": 2165
},
{
"path": "harness/experiments/analysis-context-20260911/generated/B-inline-missing.study",
"sha256": "0886DE0C602CCD06A7F7AC5C248C7EE9C5670C567880DCD3ED6D37E14C5AA524",
"bytes": 2284
},
{
"path": "harness/experiments/analysis-context-20260911/generated/B-inline-threshold.study",
"sha256": "54F518BCBB166264F763BC14AFA1437D4E95A3244DFE9DF0B0331591E72C85DD",
"bytes": 2281
},
{
"path": "harness/experiments/analysis-context-20260911/generated/B-inline.study",
"sha256": "87A97378550BB79DA9A0CAD453700352D9E24C289E6865BA9D8CF554C62FEE36",
"bytes": 2281
},
{
"path": "harness/experiments/analysis-context-20260911/generated/D-factored-cycle.rejected-study",
"sha256": "DAC04A19992313549D322D70DF564EF9026FBD5F30402DDA591AF579B7F70E26",
"bytes": 14027
},
{
"path": "harness/experiments/analysis-context-20260911/generated/D-factored-deleted-row.rejected-study",
"sha256": "C00EF4080857E18ADCC309FE57D512CA681E28A46E259B44A34D3852A334E973",
"bytes": 14007
},
{
"path": "harness/experiments/analysis-context-20260911/generated/D-factored-fixed-all.study",
"sha256": "D746830E424702ACE35B5A26EFE8D2E96D4D2CC028DC2B7E207E6326D0F22597",
"bytes": 14026
},
{
"path": "harness/experiments/analysis-context-20260911/generated/D-factored-frozen-case20.study",
"sha256": "804F0D3DB792659BFAA1CFB0CF96BF243C379F6971EC1FE357FE98CDF3269ED6",
"bytes": 2167
},
{
"path": "harness/experiments/analysis-context-20260911/generated/D-factored-missing.study",
"sha256": "32351A6F8BA499AAAD644FABFB08F7D6A067365394B2B6AD33EE7581A9761889",
"bytes": 14029
},
{
"path": "harness/experiments/analysis-context-20260911/generated/D-factored-threshold.study",
"sha256": "20EC6C0EB3EB599BE6354F2BED4BB0EF07747B4EE0B9CB80B757C59633A4579C",
"bytes": 14026
},
{
"path": "harness/experiments/analysis-context-20260911/generated/D-factored.study",
"sha256": "17C9CEB39E9B39D867EF732D4DE8BA36C00546BE1BC987547A52B99EEA83BE99",
"bytes": 14026
},
{
"path": "harness/experiments/analysis-context-20260911/generated/D-inline-cycle.rejected-study",
"sha256": "2C7443440051B7DD31733B7814C86FFC53BE5F7EBDFFE56925B9F9E60693FD84",
"bytes": 13242
},
{
"path": "harness/experiments/analysis-context-20260911/generated/D-inline-deleted-row.rejected-study",
"sha256": "26970B159D67A5E858298EC77C6B7FFA233EC3EF0FB903E9E860795DE829F28C",
"bytes": 13222
},
{
"path": "harness/experiments/analysis-context-20260911/generated/D-inline-fixed-all.study",
"sha256": "39AEC6A7457B4A8D9D9518B4B29A8185048811329B7614794FF69E122A972D6C",
"bytes": 13241
},
{
"path": "harness/experiments/analysis-context-20260911/generated/D-inline-fixed-one-only.study",
"sha256": "83E9F73E7E8CE4AC300979CE1D120707C4B7DD4A1D076C8D9BAB4BC8CF8230E8",
"bytes": 13241
},
{
"path": "harness/experiments/analysis-context-20260911/generated/D-inline-frozen-case20.study",
"sha256": "88A1A971651E827399775A7D9F6AAD32B7CE1C3E0F78D57E7AC72F207495E2B6",
"bytes": 1667
},
{
"path": "harness/experiments/analysis-context-20260911/generated/D-inline-missing.study",
"sha256": "8F44E9524A1BFCC96102C2C91CE15C4A87E698509225FD84D9A860EF8F7A23E6",
"bytes": 13244
},
{
"path": "harness/experiments/analysis-context-20260911/generated/D-inline-threshold.study",
"sha256": "59C77A7DF1488E96B994FE04A32A505B8DFC5F3F92C45A8BD774A043C1C2F5A0",
"bytes": 13241
},
{
"path": "harness/experiments/analysis-context-20260911/generated/D-inline.study",
"sha256": "7A0FF1A4CCAD6B41344331182820AB6C6C7990DA09B842F8D04C60008A8D5232",
"bytes": 13241
}
]
}
@@ -0,0 +1,14 @@
# Executed context experiment
All input magnitudes are integer milliseconds. This tiny dialect is not Studio source.
| Variant | Initial lines | Initial bytes | Binding rows | Fixed-all edit removed/added lines | Threshold edit removed/added lines | Initial passing cases | After fixed-all change |
| --- | ---: | ---: | ---: | --- | --- | ---: | ---: |
| B-inline | 106 | 2281 | 62 | 3/3 | 3/3 | 4 | 1 |
| B-factored | 108 | 2781 | 62 | 3/3 | 2/2 | 4 | 1 |
| D-inline | 522 | 13241 | 480 | 21/21 | 21/21 | 4 | 1 |
| D-factored | 524 | 14026 | 480 | 21/21 | 2/2 | 4 | 1 |
Executed assertions: 218. All passed. Every accepted fixture was parsed, validated, rendered and parsed back with exact experiment AST equality. Rejected cases were checked separately.
Negative controls: D changing one repeated fixed input changes only that case; B evaluating inherited formulas against baseline inputs instead of effective case inputs gives 21,750 instead of case20's 23,175. A shallow B case copy is not frozen; factored D also needs its definition environment snapshotted. Clearing a B override restores its named baseline value, including an explicitly missing baseline. A deleted D binding row rejects. Baseline chains, recursive definitions and project captures inside pure functions reject.
@@ -0,0 +1,913 @@
//! Isolated context experiment. This is deliberately NOT Studio syntax or production code.
use std::collections::{BTreeMap, BTreeSet};
use std::fmt::Write as _;
use std::path::Path;
type Bindings = BTreeMap<String, Expr>;
type Functions = BTreeMap<String, Function>;
#[derive(Clone, Debug, PartialEq, Eq)]
enum Expr {
Int(i64),
Missing,
Ref(String),
Sum(Vec<Expr>),
Le(Box<Expr>, Box<Expr>),
Call(String, Vec<Expr>),
}
#[derive(Clone, Debug, PartialEq, Eq)]
struct Function {
parameters: Vec<String>,
body: Expr,
}
#[derive(Clone, Debug, PartialEq, Eq)]
struct Baseline {
name: String,
revision: u64,
bindings: Bindings,
}
#[derive(Clone, Debug, PartialEq, Eq)]
struct Case {
name: String,
base: Option<String>,
bindings: Bindings,
}
#[derive(Clone, Debug, PartialEq, Eq)]
struct Study {
mode: char,
revision: u64,
properties: Vec<String>,
functions: Functions,
baseline: Option<Baseline>,
cases: Vec<Case>,
origin: Option<String>,
captured_origins: BTreeMap<String, String>,
}
#[derive(Clone, Debug, PartialEq, Eq)]
enum Value {
Int(i64),
Bool(bool),
Missing(BTreeSet<String>),
}
#[derive(Clone, Debug, PartialEq, Eq)]
struct Observation {
value: Value,
origins: BTreeMap<String, String>,
document_revision: u64,
}
fn split_args(s: &str) -> Result<Vec<&str>, String> {
if s.trim().is_empty() {
return Ok(vec![]);
}
let mut depth = 0_i32;
let mut start = 0;
let mut out = vec![];
for (i, ch) in s.char_indices() {
match ch {
'(' => depth += 1,
')' => {
depth -= 1;
if depth < 0 {
return Err("unbalanced expression".into());
}
}
',' if depth == 0 => {
out.push(s[start..i].trim());
start = i + 1;
}
_ => {}
}
}
if depth != 0 {
return Err("unbalanced expression".into());
}
out.push(s[start..].trim());
Ok(out)
}
fn expr(s: &str) -> Result<Expr, String> {
let s = s.trim();
if s == "missing" {
return Ok(Expr::Missing);
}
if let Ok(n) = s.parse() {
return Ok(Expr::Int(n));
}
if let Some(at) = s.find('(') {
if !s.ends_with(')') {
return Err("missing closing parenthesis".into());
}
let args = split_args(&s[at + 1..s.len() - 1])?
.into_iter()
.map(expr)
.collect::<Result<Vec<_>, _>>()?;
return match &s[..at] {
"sum" => Ok(Expr::Sum(args)),
"le" if args.len() == 2 => Ok(Expr::Le(
Box::new(args[0].clone()),
Box::new(args[1].clone()),
)),
"le" => Err("le requires two arguments".into()),
name => Ok(Expr::Call(name.into(), args)),
};
}
if s.is_empty() || !s.chars().all(|c| c.is_ascii_alphanumeric() || c == '_') {
return Err(format!("invalid symbol {s}"));
}
Ok(Expr::Ref(s.into()))
}
fn spelling(e: &Expr) -> String {
let list = |xs: &[Expr]| xs.iter().map(spelling).collect::<Vec<_>>().join(", ");
match e {
Expr::Int(v) => v.to_string(),
Expr::Missing => "missing".into(),
Expr::Ref(s) => s.clone(),
Expr::Sum(xs) => format!("sum({})", list(xs)),
Expr::Le(a, b) => format!("le({}, {})", spelling(a), spelling(b)),
Expr::Call(name, xs) => format!("{name}({})", list(xs)),
}
}
fn parse(text: &str) -> Result<Study, String> {
let mut lines = text.lines().filter(|l| !l.trim().is_empty());
let head = lines
.next()
.ok_or("empty study")?
.split_whitespace()
.collect::<Vec<_>>();
if head.len() != 4
|| head[0] != "study"
|| head[2] != "revision"
|| !matches!(head[1], "B" | "D")
{
return Err("invalid study header".into());
}
let mut study = Study {
mode: head[1].chars().next().unwrap(),
revision: head[3].parse().map_err(|_| "bad revision")?,
properties: vec![],
functions: BTreeMap::new(),
baseline: None,
cases: vec![],
origin: None,
captured_origins: BTreeMap::new(),
};
let mut current: Option<(bool, Case, u64)> = None;
for line in lines {
let line = line.trim();
if line == "end" {
let (base, item, revision) = current.take().ok_or("unmatched end")?;
if base {
if study.baseline.is_some() {
return Err("multiple baselines forbidden".into());
}
study.baseline = Some(Baseline {
name: item.name,
revision,
bindings: item.bindings,
});
} else {
if study.cases.iter().any(|c| c.name == item.name) {
return Err("duplicate case".into());
}
study.cases.push(item);
}
} else if let Some((_, case, _)) = current.as_mut() {
let (name, value) = line.split_once(" = ").ok_or("expected binding")?;
if case.bindings.insert(name.into(), expr(value)?).is_some() {
return Err("duplicate binding".into());
}
} else if let Some(properties) = line.strip_prefix("properties ") {
if !study.properties.is_empty() {
return Err("duplicate properties".into());
}
study.properties = properties.split(", ").map(String::from).collect();
} else if let Some(origin) = line.strip_prefix("origin ") {
study.origin = Some(origin.into());
} else if let Some(captured) = line.strip_prefix("captured ") {
let (property, origin) = captured
.split_once(" = ")
.ok_or("invalid captured origin")?;
if study
.captured_origins
.insert(property.into(), origin.into())
.is_some()
{
return Err("duplicate captured origin".into());
}
} else if let Some(def) = line.strip_prefix("function ") {
let (left, right) = def.split_once(" = ").ok_or("invalid function")?;
let at = left.find('(').ok_or("function parameters required")?;
if !left.ends_with(')') {
return Err("bad parameters".into());
}
let f = Function {
parameters: split_args(&left[at + 1..left.len() - 1])?
.into_iter()
.map(String::from)
.collect(),
body: expr(right)?,
};
if study.functions.insert(left[..at].into(), f).is_some() {
return Err("duplicate function".into());
}
} else {
let words = line.split_whitespace().collect::<Vec<_>>();
let (base, name, parent, revision) = match words.as_slice() {
["baseline", name, "revision", revision] => (
true,
*name,
None,
revision.parse().map_err(|_| "bad baseline revision")?,
),
["case", name, "base", parent] => (false, *name, Some((*parent).to_owned()), 0),
["case", name, "independent"] => (false, *name, None, 0),
_ => return Err(format!("invalid declaration: {line}")),
};
current = Some((
base,
Case {
name: name.into(),
base: parent,
bindings: BTreeMap::new(),
},
revision,
));
}
}
if current.is_some() {
return Err("unterminated block".into());
}
validate(&study)?;
Ok(study)
}
fn render(s: &Study) -> String {
let mut text = format!("study {} revision {}\n", s.mode, s.revision);
if let Some(origin) = &s.origin {
writeln!(text, "origin {origin}").unwrap();
}
for (property, origin) in &s.captured_origins {
writeln!(text, "captured {property} = {origin}").unwrap();
}
writeln!(text, "properties {}", s.properties.join(", ")).unwrap();
for (name, f) in &s.functions {
writeln!(
text,
"function {name}({}) = {}",
f.parameters.join(", "),
spelling(&f.body)
)
.unwrap();
}
let write_bindings = |text: &mut String, bindings: &Bindings| {
for (p, e) in bindings {
writeln!(text, " {p} = {}", spelling(e)).unwrap();
}
text.push_str("end\n");
};
if let Some(b) = &s.baseline {
writeln!(text, "baseline {} revision {}", b.name, b.revision).unwrap();
write_bindings(&mut text, &b.bindings);
}
for c in &s.cases {
writeln!(
text,
"case {} {}",
c.name,
c.base
.as_ref()
.map_or("independent".into(), |b| format!("base {b}"))
)
.unwrap();
write_bindings(&mut text, &c.bindings);
}
text
}
fn refs(e: &Expr, names: &mut BTreeSet<String>, calls: &mut BTreeSet<String>) {
match e {
Expr::Ref(p) => {
names.insert(p.clone());
}
Expr::Sum(xs) | Expr::Call(_, xs) => {
if let Expr::Call(f, _) = e {
calls.insert(f.clone());
}
for x in xs {
refs(x, names, calls);
}
}
Expr::Le(a, b) => {
refs(a, names, calls);
refs(b, names, calls);
}
_ => {}
}
}
fn acyclic(graph: &BTreeMap<String, BTreeSet<String>>) -> Result<(), String> {
fn visit(
n: &str,
graph: &BTreeMap<String, BTreeSet<String>>,
path: &mut Vec<String>,
done: &mut BTreeSet<String>,
) -> Result<(), String> {
if path.iter().any(|p| p == n) {
path.push(n.into());
return Err(format!("cycle: {}", path.join(" -> ")));
}
if done.contains(n) {
return Ok(());
}
path.push(n.into());
for next in graph
.get(n)
.ok_or_else(|| format!("unknown dependency {n}"))?
{
visit(next, graph, path, done)?;
}
path.pop();
done.insert(n.into());
Ok(())
}
let mut done = BTreeSet::new();
for n in graph.keys() {
visit(n, graph, &mut vec![], &mut done)?;
}
Ok(())
}
fn resolved<'a>(s: &'a Study, c: &'a Case, property: &str) -> Result<(&'a Expr, String), String> {
if let Some(e) = c.bindings.get(property) {
return Ok((e, format!("case:{}", c.name)));
}
if let Some(base) = &c.base {
let b = s
.baseline
.as_ref()
.filter(|b| &b.name == base)
.ok_or("unknown baseline")?;
if let Some(e) = b.bindings.get(property) {
return Ok((
e,
format!("baseline:{}@{} via {}", b.name, b.revision, c.name),
));
}
}
Err(format!("missing binding row: {}.{property}", c.name))
}
fn validate(s: &Study) -> Result<(), String> {
let properties = s.properties.iter().cloned().collect::<BTreeSet<_>>();
if properties.len() != s.properties.len() || properties.is_empty() {
return Err("invalid property catalog".into());
}
if (s.mode == 'B') != s.baseline.is_some() {
return Err("B requires one explicit baseline; D forbids baselines".into());
}
let mut function_graph = BTreeMap::new();
for (name, f) in &s.functions {
let mut names = BTreeSet::new();
let mut calls = BTreeSet::new();
refs(&f.body, &mut names, &mut calls);
let parameters = f.parameters.iter().cloned().collect::<BTreeSet<_>>();
if parameters.len() != f.parameters.len() || !names.is_subset(&parameters) {
return Err(format!("function {name} captures unknown/project property"));
}
function_graph.insert(name.clone(), calls);
}
acyclic(&function_graph)?;
let mut contexts = s.cases.clone();
if let Some(b) = &s.baseline {
contexts.push(Case {
name: format!("baseline_{}", b.name),
base: None,
bindings: b.bindings.clone(),
});
}
for c in &contexts {
if !c.bindings.keys().all(|p| properties.contains(p)) {
return Err("unknown binding property".into());
}
if s.mode == 'D' && c.base.is_some() {
return Err("D case cannot inherit".into());
}
if let Some(name) = &c.base {
if s.baseline.as_ref().is_none_or(|b| &b.name != name) {
return Err("unknown baseline; case-to-case inheritance forbidden".into());
}
}
let mut graph = BTreeMap::new();
for p in &properties {
let (e, _) = resolved(s, c, p)?;
let mut names = BTreeSet::new();
let mut calls = BTreeSet::new();
refs(e, &mut names, &mut calls);
if !names.is_subset(&properties) || !calls.iter().all(|f| s.functions.contains_key(f)) {
return Err("unknown reference".into());
}
graph.insert(p.clone(), names);
}
acyclic(&graph).map_err(|e| format!("{}: {e}", c.name))?;
for p in &properties {
evaluate(s, c, p)?;
}
}
Ok(())
}
fn evaluate(s: &Study, c: &Case, property: &str) -> Result<Observation, String> {
let mut origins = BTreeMap::new();
let mut cache = BTreeMap::new();
fn property_value(
s: &Study,
c: &Case,
p: &str,
origins: &mut BTreeMap<String, String>,
cache: &mut BTreeMap<String, Value>,
) -> Result<Value, String> {
if let Some(v) = cache.get(p) {
return Ok(v.clone());
}
let (e, origin) = resolved(s, c, p)?;
origins.insert(
p.into(),
s.captured_origins
.get(p)
.map_or(origin, |old| format!("frozen:{old}")),
);
let value = run(s, c, e, &BTreeMap::new(), Some(p), origins, cache)?;
if !matches!(value, Value::Missing(_)) && (p == "budget") != matches!(value, Value::Bool(_))
{
return Err(format!("wrong type for {p}"));
}
cache.insert(p.into(), value.clone());
Ok(value)
}
fn run(
s: &Study,
c: &Case,
e: &Expr,
params: &BTreeMap<String, Value>,
missing_property: Option<&str>,
origins: &mut BTreeMap<String, String>,
cache: &mut BTreeMap<String, Value>,
) -> Result<Value, String> {
match e {
Expr::Int(n) => Ok(Value::Int(*n)),
Expr::Missing => Ok(Value::Missing(BTreeSet::from([missing_property
.unwrap_or("function-body")
.into()]))),
Expr::Ref(p) => params
.get(p)
.cloned()
.map_or_else(|| property_value(s, c, p, origins, cache), Ok),
Expr::Call(name, args) => {
let f = s.functions.get(name).ok_or("unknown function")?;
if f.parameters.len() != args.len() {
return Err("wrong function arity".into());
}
let mut bound = BTreeMap::new();
for (parameter, arg) in f.parameters.iter().zip(args) {
bound.insert(
parameter.clone(),
run(s, c, arg, params, missing_property, origins, cache)?,
);
}
run(s, c, &f.body, &bound, missing_property, origins, cache)
}
Expr::Sum(xs) => {
let mut total = 0_i64;
let mut missing = BTreeSet::new();
for x in xs {
match run(s, c, x, params, missing_property, origins, cache)? {
Value::Int(n) => total = total.checked_add(n).ok_or("integer overflow")?,
Value::Missing(m) => missing.extend(m),
Value::Bool(_) => return Err("sum requires numeric inputs".into()),
}
}
Ok(if missing.is_empty() {
Value::Int(total)
} else {
Value::Missing(missing)
})
}
Expr::Le(a, b) => {
let a = run(s, c, a, params, missing_property, origins, cache)?;
let b = run(s, c, b, params, missing_property, origins, cache)?;
match (a, b) {
(Value::Int(a), Value::Int(b)) => Ok(Value::Bool(a <= b)),
(Value::Missing(mut a), Value::Missing(b)) => {
a.extend(b);
Ok(Value::Missing(a))
}
(Value::Missing(a), Value::Int(_)) | (Value::Int(_), Value::Missing(a)) => {
Ok(Value::Missing(a))
}
_ => Err("le requires numeric inputs".into()),
}
}
}
}
let value = property_value(s, c, property, &mut origins, &mut cache)?;
Ok(Observation {
value,
origins,
document_revision: s.revision,
})
}
fn fixture(mode: char, factored: bool) -> Study {
let inputs = (1..=20)
.map(|i| format!("fixed{i:02}"))
.chain(["varying01".into(), "varying02".into()])
.collect::<Vec<_>>();
let mut all = inputs.clone();
all.extend(["total".into(), "budget".into()]);
let mut bindings = (1..=20)
.map(|i| (format!("fixed{i:02}"), Expr::Int(1000)))
.collect::<Bindings>();
bindings.insert("varying01".into(), Expr::Int(750));
bindings.insert("varying02".into(), Expr::Int(1000));
let total = Expr::Sum(inputs.iter().cloned().map(Expr::Ref).collect());
let check = Expr::Le(
Box::new(Expr::Ref("total".into())),
Box::new(Expr::Int(22000)),
);
let mut functions = BTreeMap::new();
if factored {
functions.insert(
"total_formula".into(),
Function {
parameters: inputs.clone(),
body: total,
},
);
functions.insert(
"budget_formula".into(),
Function {
parameters: vec!["result".into()],
body: Expr::Le(
Box::new(Expr::Ref("result".into())),
Box::new(Expr::Int(22000)),
),
},
);
bindings.insert(
"total".into(),
Expr::Call(
"total_formula".into(),
inputs.into_iter().map(Expr::Ref).collect(),
),
);
bindings.insert(
"budget".into(),
Expr::Call("budget_formula".into(), vec![Expr::Ref("total".into())]),
);
} else {
bindings.insert("total".into(), total);
bindings.insert("budget".into(), check);
}
let cases = (0..20)
.map(|i| {
let mut rows = if mode == 'D' {
bindings.clone()
} else {
BTreeMap::new()
};
if mode == 'D' || i != 0 {
rows.insert("varying01".into(), Expr::Int(750 + 50 * i));
rows.insert("varying02".into(), Expr::Int(1000 + 25 * i));
}
Case {
name: format!("case{:02}", i + 1),
base: (mode == 'B').then(|| "engineering".into()),
bindings: rows,
}
})
.collect();
Study {
mode,
revision: 1,
properties: all,
functions,
baseline: (mode == 'B').then(|| Baseline {
name: "engineering".into(),
revision: 1,
bindings,
}),
cases,
origin: None,
captured_origins: BTreeMap::new(),
}
}
fn freeze(s: &Study, case: usize) -> Study {
let c = &s.cases[case];
Study {
mode: 'D',
revision: 1,
properties: s.properties.clone(),
functions: s.functions.clone(),
baseline: None,
cases: vec![Case {
name: c.name.clone(),
base: None,
bindings: s
.properties
.iter()
.map(|p| (p.clone(), resolved(s, c, p).unwrap().0.clone()))
.collect(),
}],
origin: Some(format!(
"{}:{}:document{}{}",
s.mode,
c.name,
s.revision,
s.baseline
.as_ref()
.map_or(String::new(), |b| format!(":{}@{}", b.name, b.revision))
)),
captured_origins: s
.properties
.iter()
.map(|p| (p.clone(), resolved(s, c, p).unwrap().1))
.collect(),
}
}
fn write_fixture(dir: &Path, name: &str, s: &Study) -> Result<String, String> {
let source = render(s);
let back = parse(&source)?;
assert_eq!(&back, s, "exact experiment AST round trip");
std::fs::write(dir.join(format!("{name}.study")), &source).map_err(|e| e.to_string())?;
Ok(source)
}
fn diff(before: &str, after: &str) -> (usize, usize) {
let a = before.lines().collect::<Vec<_>>();
let b = after.lines().collect::<Vec<_>>();
let mut row = vec![0; b.len() + 1];
for x in &a {
let mut diagonal = 0;
for (j, y) in b.iter().enumerate() {
let old = row[j + 1];
row[j + 1] = if x == y {
diagonal + 1
} else {
row[j + 1].max(row[j])
};
diagonal = old;
}
}
(a.len() - row[b.len()], b.len() - row[b.len()])
}
fn assert_total(s: &Study, index: usize, expected: i64) {
assert_eq!(
evaluate(s, &s.cases[index], "total").unwrap().value,
Value::Int(expected)
);
}
fn change_fixed(s: &mut Study, all: bool) {
s.revision += 1;
if let Some(b) = s.baseline.as_mut() {
b.revision += 1;
b.bindings.insert("fixed01".into(), Expr::Int(1200));
} else {
for c in s.cases.iter_mut().take(if all { 20 } else { 1 }) {
c.bindings.insert("fixed01".into(), Expr::Int(1200));
}
}
}
fn change_threshold(s: &mut Study, value: i64) {
s.revision += 1;
if let Some(f) = s.functions.get_mut("budget_formula") {
f.body = Expr::Le(
Box::new(Expr::Ref("result".into())),
Box::new(Expr::Int(value)),
);
} else {
let e = Expr::Le(
Box::new(Expr::Ref("total".into())),
Box::new(Expr::Int(value)),
);
if let Some(b) = s.baseline.as_mut() {
b.revision += 1;
b.bindings.insert("budget".into(), e);
} else {
for c in &mut s.cases {
c.bindings.insert("budget".into(), e.clone());
}
}
}
}
fn pass_count(s: &Study) -> usize {
s.cases
.iter()
.filter(|c| evaluate(s, c, "budget").unwrap().value == Value::Bool(true))
.count()
}
fn main() -> Result<(), String> {
let out = std::env::args()
.nth(1)
.ok_or("usage: analysis-context.exe OUTPUT_DIRECTORY")?;
let dir = Path::new(&out);
std::fs::create_dir_all(dir).map_err(|e| e.to_string())?;
let mut report = String::from(
"# Executed context experiment\n\nAll input magnitudes are integer milliseconds. This tiny dialect is not Studio source.\n\n| Variant | Initial lines | Initial bytes | Binding rows | Fixed-all edit removed/added lines | Threshold edit removed/added lines | Initial passing cases | After fixed-all change |\n| --- | ---: | ---: | ---: | --- | --- | ---: | ---: |\n",
);
let mut checks = 0;
for mode in ['B', 'D'] {
for factored in [false, true] {
let name = format!("{mode}-{}", if factored { "factored" } else { "inline" });
let original = fixture(mode, factored);
validate(&original)?;
for i in 0..20 {
assert_total(&original, i, 21750 + 75 * i as i64);
checks += 1;
}
assert_eq!(pass_count(&original), 4);
checks += 1;
let initial = write_fixture(dir, &name, &original)?;
let mut changed = original.clone();
change_fixed(&mut changed, true);
validate(&changed)?;
for i in 0..20 {
assert_total(&changed, i, 21950 + 75 * i as i64);
checks += 1;
}
assert_eq!(pass_count(&changed), 1);
checks += 1;
let fixed_source = write_fixture(dir, &format!("{name}-fixed-all"), &changed)?;
let mut threshold = original.clone();
change_threshold(&mut threshold, 22500);
validate(&threshold)?;
assert_eq!(pass_count(&threshold), 11);
checks += 1;
let threshold_source = write_fixture(dir, &format!("{name}-threshold"), &threshold)?;
let frozen = freeze(&original, 19);
let frozen_before = evaluate(&frozen, &frozen.cases[0], "budget")?;
assert_total(&frozen, 0, 23175);
checks += 1;
change_threshold(&mut changed, 25000);
assert_eq!(
evaluate(&frozen, &frozen.cases[0], "budget")?,
frozen_before
);
checks += 1;
write_fixture(dir, &format!("{name}-frozen-case20"), &frozen)?;
// A shallow case copy still follows its baseline and/or shared function environment.
let shallow = original.cases[19].clone();
if mode == 'B' {
assert_eq!(
evaluate(&changed, &shallow, "total")?.value,
Value::Int(23375)
);
checks += 1;
}
if factored {
assert_eq!(
evaluate(&changed, &shallow, "budget")?.value,
Value::Bool(true)
);
checks += 1;
}
if mode == 'D' && !factored {
assert_eq!(
evaluate(&changed, &shallow, "total")?.value,
Value::Int(23175)
);
assert_eq!(
evaluate(&changed, &shallow, "budget")?.value,
Value::Bool(false)
);
checks += 2;
}
assert_eq!(frozen.captured_origins.len(), 24);
assert!(
evaluate(&frozen, &frozen.cases[0], "total")?
.origins
.values()
.all(|origin| origin.starts_with("frozen:"))
);
checks += 2;
let mut missing = original.clone();
missing.cases[19]
.bindings
.insert("varying01".into(), Expr::Missing);
validate(&missing)?;
assert_eq!(
evaluate(&missing, &missing.cases[19], "budget")?.value,
Value::Missing(BTreeSet::from(["varying01".into()]))
);
checks += 1;
write_fixture(dir, &format!("{name}-missing"), &missing)?;
let frozen_missing = freeze(&missing, 19);
assert_eq!(
evaluate(&frozen_missing, &frozen_missing.cases[0], "budget")?.value,
Value::Missing(BTreeSet::from(["varying01".into()]))
);
checks += 1;
missing.cases[19].bindings.remove("varying01");
if mode == 'B' {
validate(&missing)?;
assert_total(&missing, 19, 22225);
checks += 1;
write_fixture(dir, &format!("{name}-cleared-override"), &missing)?;
} else {
assert!(
validate(&missing)
.unwrap_err()
.contains("missing binding row")
);
checks += 1;
std::fs::write(
dir.join(format!("{name}-deleted-row.rejected-study")),
render(&missing),
)
.map_err(|e| e.to_string())?;
}
let mut cyclic = original.clone();
cyclic.cases[19]
.bindings
.insert("varying01".into(), Expr::Ref("total".into()));
let cycle = validate(&cyclic).unwrap_err();
assert!(cycle.contains("cycle"));
checks += 1;
std::fs::write(
dir.join(format!("{name}-cycle.rejected-study")),
render(&cyclic),
)
.map_err(|e| e.to_string())?;
let observation = evaluate(&original, &original.cases[19], "budget")?;
let mut detail = format!(
"# {name}: case20 evaluation\n\nValue: {:?}\nDocument revision: {}\n\n",
observation.value, observation.document_revision
);
for (p, origin) in &observation.origins {
writeln!(detail, "- {p}: {origin}").unwrap();
}
writeln!(detail, "\nRejected cycle: {cycle}").unwrap();
std::fs::write(dir.join(format!("{name}-provenance.md")), detail)
.map_err(|e| e.to_string())?;
let rows = original.baseline.as_ref().map_or(0, |b| b.bindings.len())
+ original
.cases
.iter()
.map(|c| c.bindings.len())
.sum::<usize>();
let (a, b) = diff(&initial, &fixed_source);
let (c, d) = diff(&initial, &threshold_source);
writeln!(
report,
"| {name} | {} | {} | {rows} | {a}/{b} | {c}/{d} | 4 | 1 |",
initial.lines().count(),
initial.len()
)
.unwrap();
}
}
// Negative controls establish that source locality and isolation differ.
let mut d = fixture('D', false);
change_fixed(&mut d, false);
validate(&d)?;
assert_total(&d, 0, 21950);
assert_total(&d, 19, 23175);
checks += 2;
write_fixture(dir, "D-inline-fixed-one-only", &d)?;
let b = fixture('B', false);
let baseline_case = Case {
name: "wrong_baseline_context".into(),
base: None,
bindings: b.baseline.as_ref().unwrap().bindings.clone(),
};
assert_eq!(
evaluate(&b, &baseline_case, "total")?.value,
Value::Int(21750)
);
assert_total(&b, 19, 23175);
checks += 2;
let mut explicit = fixture('B', false);
explicit
.baseline
.as_mut()
.unwrap()
.bindings
.insert("varying01".into(), Expr::Missing);
explicit.cases[19].bindings.remove("varying01");
validate(&explicit)?;
assert!(matches!(
evaluate(&explicit, &explicit.cases[19], "total")?.value,
Value::Missing(_)
));
checks += 1;
let mut chained = fixture('B', false);
chained.cases[1].base = Some("case01".into());
assert!(validate(&chained).unwrap_err().contains("case-to-case"));
checks += 1;
let mut capture = fixture('D', true);
capture.functions.get_mut("budget_formula").unwrap().body = Expr::Ref("fixed01".into());
assert!(validate(&capture).unwrap_err().contains("captures"));
checks += 1;
let mut recursive = fixture('D', true);
recursive.functions.get_mut("budget_formula").unwrap().body =
Expr::Call("budget_formula".into(), vec![Expr::Ref("result".into())]);
assert!(validate(&recursive).unwrap_err().contains("cycle"));
checks += 1;
writeln!(report,"\nExecuted assertions: {checks}. All passed. Every accepted fixture was parsed, validated, rendered and parsed back with exact experiment AST equality. Rejected cases were checked separately.\n").unwrap();
report.push_str("Negative controls: D changing one repeated fixed input changes only that case; B evaluating inherited formulas against baseline inputs instead of effective case inputs gives 21,750 instead of case20's 23,175. A shallow B case copy is not frozen; factored D also needs its definition environment snapshotted. Clearing a B override restores its named baseline value, including an explicitly missing baseline. A deleted D binding row rejects. Baseline chains, recursive definitions and project captures inside pure functions reject.\n");
std::fs::write(dir.join("RESULTS.md"), &report).map_err(|e| e.to_string())?;
println!("{report}");
Ok(())
}
@@ -0,0 +1,671 @@
{
"reviewer": "Codex-9e8r6t /root/palette_finish",
"started_utc": "2026-09-11T09:18:19.944507+00:00",
"finished_utc": "2026-09-11T09:18:23.213965+00:00",
"scope": "Frozen checkpoints only; no live work/profile/UI access or compilation.",
"artifacts": [
{
"path": ".local/behavior-creation-oracle-20260911/behavior-creation-contract-v2.exe",
"bytes": 20757504,
"sha256": "056eefd444924916bf6ac3c4897ab2ff4a8a4bb892e1dbc16adad32e59bf6a36"
},
{
"path": "harness/behavior-creation-contract.rs",
"bytes": 23982,
"sha256": "51ab2ffa1826dd949b79f3a9690042a2f9e38daf9ed91517cade3861482117ba"
},
{
"path": "harness/experiments/behavior-creation-native-20260911/verify.py",
"bytes": 5348,
"sha256": "4921c4615071240c3ac3bbe1223c0db3bf472fe5e3eec2ae5dac12f95b1674df"
},
{
"path": ".local/native-qa/behavior-20260911-v4/bin/arcadia-studio.exe",
"bytes": 111163904,
"sha256": "d4d9c2bd937e301ff1009d7cb93a34ee5aa6dfc837ff7e87d468c85371b20c31"
},
{
"path": ".local/native-qa/behavior-20260911-v4/bin/libunwind.dll",
"bytes": 190976,
"sha256": "f45604a12e8bcd839fd86f667c1be1cc7c4f9da2b3c69ff381ac708f0e1ae7d4"
},
{
"path": ".local/native-qa/behavior-20260911-v4/bin/manifest.json",
"bytes": 41579,
"sha256": "e0470afae0ae21941ac6da63fadfb3c70d0ce646317c65fafa5c186e94f18fe2"
},
{
"path": ".local/native-qa/behavior-20260911-v4/baseline-source-manifest.json",
"bytes": 927,
"sha256": "7b5bcd66739ad9f3ddaa3a50db7a4bba3be144d13d161e1db85d2d43f3038259"
},
{
"path": ".local/native-qa/behavior-20260911-v4/cancel-save-verification.json",
"bytes": 1439,
"sha256": "5fb79d14a000fa0ecc046fba64bcd2846d3bc2eb8708a88e334db0ede4ce16a1"
},
{
"path": ".local/native-qa/behavior-20260911-v4/scenario-empty-saved.png",
"bytes": 90419,
"sha256": "b03fb33d3f4cf1e5f95e7ac4198a4dee30ffd9af5e250d481e0d5dc2a2a0f90c"
},
{
"path": ".local/native-qa/behavior-20260911-v4/machine-created-saved.png",
"bytes": 98897,
"sha256": "1e7af3d6219c430eaafb0de5afd8df4c51b4efeb80de3f642084188633dcb65b"
}
],
"checkpoints": {
"baseline": {
"path": ".local/native-qa/palette-20260910-v3/checkpoint-transition-reopen",
"files": {
"oa/activities/activity_assess_incident.arcadia": {
"bytes": 376,
"sha256": "ae41d7c20b062b39c2edab7fb890a3d88a9ce18fd8d03018ef2d6f95eeff62e8"
},
"oa/participants.arcadia": {
"bytes": 403,
"sha256": "094cab67f34b64902942c10a35bbcd0f760886d862588a0816d6ceb57bacf51b"
},
"project.arcadia": {
"bytes": 4844,
"sha256": "b35a3f63f223cc4fe2760d6308e87b016ed1eadfbef0a3a4bd051b52c9080958"
},
"rationale.arcadia": {
"bytes": 57,
"sha256": "c01867c9dc0d40726853119fac3c6ad24a40d8d362a93a8b9d20df04ec2e273f"
},
"sa/participants.arcadia": {
"bytes": 124,
"sha256": "fb975b83d3ec164c38936bf27fe7d2021cc46805574902a534744b040f7d3ae8"
},
"traceability.arcadia": {
"bytes": 395,
"sha256": "f778acaaa85de0940cedcd9514cd803032a11e782d859454203235febb73e5f0"
}
}
},
"process": {
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-process",
"files": {
"oa/activities/activity_assess_incident.arcadia": {
"bytes": 376,
"sha256": "ae41d7c20b062b39c2edab7fb890a3d88a9ce18fd8d03018ef2d6f95eeff62e8"
},
"oa/behavior/process_coordinate_rescue.arcadia": {
"bytes": 149,
"sha256": "8f393d1cee5e7eed5e41af14539b1fe7ae1c7300dd9383ca0ef1ee17254b6253"
},
"oa/participants.arcadia": {
"bytes": 403,
"sha256": "094cab67f34b64902942c10a35bbcd0f760886d862588a0816d6ceb57bacf51b"
},
"project.arcadia": {
"bytes": 4906,
"sha256": "961d99c287dd7728c8ece8b20ca1a7965ac2d0581b3eaedf11a2b243975b0ea8"
},
"rationale.arcadia": {
"bytes": 57,
"sha256": "c01867c9dc0d40726853119fac3c6ad24a40d8d362a93a8b9d20df04ec2e273f"
},
"sa/participants.arcadia": {
"bytes": 124,
"sha256": "fb975b83d3ec164c38936bf27fe7d2021cc46805574902a534744b040f7d3ae8"
},
"traceability.arcadia": {
"bytes": 395,
"sha256": "f778acaaa85de0940cedcd9514cd803032a11e782d859454203235febb73e5f0"
}
}
},
"process-undo": {
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-process-undo",
"files": {
"oa/activities/activity_assess_incident.arcadia": {
"bytes": 376,
"sha256": "ae41d7c20b062b39c2edab7fb890a3d88a9ce18fd8d03018ef2d6f95eeff62e8"
},
"oa/behavior/process_coordinate_rescue.arcadia": {
"bytes": 149,
"sha256": "8f393d1cee5e7eed5e41af14539b1fe7ae1c7300dd9383ca0ef1ee17254b6253"
},
"oa/participants.arcadia": {
"bytes": 403,
"sha256": "094cab67f34b64902942c10a35bbcd0f760886d862588a0816d6ceb57bacf51b"
},
"project.arcadia": {
"bytes": 4844,
"sha256": "b35a3f63f223cc4fe2760d6308e87b016ed1eadfbef0a3a4bd051b52c9080958"
},
"rationale.arcadia": {
"bytes": 57,
"sha256": "c01867c9dc0d40726853119fac3c6ad24a40d8d362a93a8b9d20df04ec2e273f"
},
"sa/participants.arcadia": {
"bytes": 124,
"sha256": "fb975b83d3ec164c38936bf27fe7d2021cc46805574902a534744b040f7d3ae8"
},
"traceability.arcadia": {
"bytes": 395,
"sha256": "f778acaaa85de0940cedcd9514cd803032a11e782d859454203235febb73e5f0"
}
}
},
"process-redo": {
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-process-redo",
"files": {
"oa/activities/activity_assess_incident.arcadia": {
"bytes": 376,
"sha256": "ae41d7c20b062b39c2edab7fb890a3d88a9ce18fd8d03018ef2d6f95eeff62e8"
},
"oa/behavior/process_coordinate_rescue.arcadia": {
"bytes": 149,
"sha256": "8f393d1cee5e7eed5e41af14539b1fe7ae1c7300dd9383ca0ef1ee17254b6253"
},
"oa/participants.arcadia": {
"bytes": 403,
"sha256": "094cab67f34b64902942c10a35bbcd0f760886d862588a0816d6ceb57bacf51b"
},
"project.arcadia": {
"bytes": 4906,
"sha256": "961d99c287dd7728c8ece8b20ca1a7965ac2d0581b3eaedf11a2b243975b0ea8"
},
"rationale.arcadia": {
"bytes": 57,
"sha256": "c01867c9dc0d40726853119fac3c6ad24a40d8d362a93a8b9d20df04ec2e273f"
},
"sa/participants.arcadia": {
"bytes": 124,
"sha256": "fb975b83d3ec164c38936bf27fe7d2021cc46805574902a534744b040f7d3ae8"
},
"traceability.arcadia": {
"bytes": 395,
"sha256": "f778acaaa85de0940cedcd9514cd803032a11e782d859454203235febb73e5f0"
}
}
},
"scenario": {
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-scenario",
"files": {
"oa/activities/activity_assess_incident.arcadia": {
"bytes": 376,
"sha256": "ae41d7c20b062b39c2edab7fb890a3d88a9ce18fd8d03018ef2d6f95eeff62e8"
},
"oa/behavior/process_coordinate_rescue.arcadia": {
"bytes": 149,
"sha256": "8f393d1cee5e7eed5e41af14539b1fe7ae1c7300dd9383ca0ef1ee17254b6253"
},
"oa/behavior/scenario_rescue_coordination_conversation.arcadia": {
"bytes": 284,
"sha256": "8eed98446dfb4f4dbd5261f550ce8cae1a21d638975d91b32baaf6f309daba98"
},
"oa/participants.arcadia": {
"bytes": 403,
"sha256": "094cab67f34b64902942c10a35bbcd0f760886d862588a0816d6ceb57bacf51b"
},
"project.arcadia": {
"bytes": 4984,
"sha256": "1fa6dd826fd53ccdf3c93cfdcdd657487e344313d76dabe0c438e08128851ee6"
},
"rationale.arcadia": {
"bytes": 57,
"sha256": "c01867c9dc0d40726853119fac3c6ad24a40d8d362a93a8b9d20df04ec2e273f"
},
"sa/participants.arcadia": {
"bytes": 124,
"sha256": "fb975b83d3ec164c38936bf27fe7d2021cc46805574902a534744b040f7d3ae8"
},
"traceability.arcadia": {
"bytes": 395,
"sha256": "f778acaaa85de0940cedcd9514cd803032a11e782d859454203235febb73e5f0"
}
}
},
"scenario-undo": {
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-scenario-undo",
"files": {
"oa/activities/activity_assess_incident.arcadia": {
"bytes": 376,
"sha256": "ae41d7c20b062b39c2edab7fb890a3d88a9ce18fd8d03018ef2d6f95eeff62e8"
},
"oa/behavior/process_coordinate_rescue.arcadia": {
"bytes": 149,
"sha256": "8f393d1cee5e7eed5e41af14539b1fe7ae1c7300dd9383ca0ef1ee17254b6253"
},
"oa/behavior/scenario_rescue_coordination_conversation.arcadia": {
"bytes": 284,
"sha256": "8eed98446dfb4f4dbd5261f550ce8cae1a21d638975d91b32baaf6f309daba98"
},
"oa/participants.arcadia": {
"bytes": 403,
"sha256": "094cab67f34b64902942c10a35bbcd0f760886d862588a0816d6ceb57bacf51b"
},
"project.arcadia": {
"bytes": 4906,
"sha256": "961d99c287dd7728c8ece8b20ca1a7965ac2d0581b3eaedf11a2b243975b0ea8"
},
"rationale.arcadia": {
"bytes": 57,
"sha256": "c01867c9dc0d40726853119fac3c6ad24a40d8d362a93a8b9d20df04ec2e273f"
},
"sa/participants.arcadia": {
"bytes": 124,
"sha256": "fb975b83d3ec164c38936bf27fe7d2021cc46805574902a534744b040f7d3ae8"
},
"traceability.arcadia": {
"bytes": 395,
"sha256": "f778acaaa85de0940cedcd9514cd803032a11e782d859454203235febb73e5f0"
}
}
},
"scenario-redo": {
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-scenario-redo",
"files": {
"oa/activities/activity_assess_incident.arcadia": {
"bytes": 376,
"sha256": "ae41d7c20b062b39c2edab7fb890a3d88a9ce18fd8d03018ef2d6f95eeff62e8"
},
"oa/behavior/process_coordinate_rescue.arcadia": {
"bytes": 149,
"sha256": "8f393d1cee5e7eed5e41af14539b1fe7ae1c7300dd9383ca0ef1ee17254b6253"
},
"oa/behavior/scenario_rescue_coordination_conversation.arcadia": {
"bytes": 284,
"sha256": "8eed98446dfb4f4dbd5261f550ce8cae1a21d638975d91b32baaf6f309daba98"
},
"oa/participants.arcadia": {
"bytes": 403,
"sha256": "094cab67f34b64902942c10a35bbcd0f760886d862588a0816d6ceb57bacf51b"
},
"project.arcadia": {
"bytes": 4984,
"sha256": "1fa6dd826fd53ccdf3c93cfdcdd657487e344313d76dabe0c438e08128851ee6"
},
"rationale.arcadia": {
"bytes": 57,
"sha256": "c01867c9dc0d40726853119fac3c6ad24a40d8d362a93a8b9d20df04ec2e273f"
},
"sa/participants.arcadia": {
"bytes": 124,
"sha256": "fb975b83d3ec164c38936bf27fe7d2021cc46805574902a534744b040f7d3ae8"
},
"traceability.arcadia": {
"bytes": 395,
"sha256": "f778acaaa85de0940cedcd9514cd803032a11e782d859454203235febb73e5f0"
}
}
},
"machine": {
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-machine",
"files": {
"oa/activities/activity_assess_incident.arcadia": {
"bytes": 376,
"sha256": "ae41d7c20b062b39c2edab7fb890a3d88a9ce18fd8d03018ef2d6f95eeff62e8"
},
"oa/behavior/process_coordinate_rescue.arcadia": {
"bytes": 149,
"sha256": "8f393d1cee5e7eed5e41af14539b1fe7ae1c7300dd9383ca0ef1ee17254b6253"
},
"oa/behavior/scenario_rescue_coordination_conversation.arcadia": {
"bytes": 284,
"sha256": "8eed98446dfb4f4dbd5261f550ce8cae1a21d638975d91b32baaf6f309daba98"
},
"oa/participants.arcadia": {
"bytes": 403,
"sha256": "094cab67f34b64902942c10a35bbcd0f760886d862588a0816d6ceb57bacf51b"
},
"project.arcadia": {
"bytes": 5057,
"sha256": "59b61b321b0cf4817c1ff9276fa59deafc09518765e761a2ebd9e5602afab9cb"
},
"rationale.arcadia": {
"bytes": 57,
"sha256": "c01867c9dc0d40726853119fac3c6ad24a40d8d362a93a8b9d20df04ec2e273f"
},
"sa/participants.arcadia": {
"bytes": 285,
"sha256": "9b77b88f66e4e80540ae33b83f1af1f3edcd37dafb98c33a861d4c34c66d2559"
},
"traceability.arcadia": {
"bytes": 395,
"sha256": "f778acaaa85de0940cedcd9514cd803032a11e782d859454203235febb73e5f0"
},
"views/diagram_rescue_team_operating_modes_states.arcadia": {
"bytes": 842,
"sha256": "498eab80da7ac4523883622a0d008b9033a1305e5bb5f168b8e9d4c41dde62de"
}
}
},
"machine-undo": {
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-machine-undo",
"files": {
"oa/activities/activity_assess_incident.arcadia": {
"bytes": 376,
"sha256": "ae41d7c20b062b39c2edab7fb890a3d88a9ce18fd8d03018ef2d6f95eeff62e8"
},
"oa/behavior/process_coordinate_rescue.arcadia": {
"bytes": 149,
"sha256": "8f393d1cee5e7eed5e41af14539b1fe7ae1c7300dd9383ca0ef1ee17254b6253"
},
"oa/behavior/scenario_rescue_coordination_conversation.arcadia": {
"bytes": 284,
"sha256": "8eed98446dfb4f4dbd5261f550ce8cae1a21d638975d91b32baaf6f309daba98"
},
"oa/participants.arcadia": {
"bytes": 403,
"sha256": "094cab67f34b64902942c10a35bbcd0f760886d862588a0816d6ceb57bacf51b"
},
"project.arcadia": {
"bytes": 4984,
"sha256": "1fa6dd826fd53ccdf3c93cfdcdd657487e344313d76dabe0c438e08128851ee6"
},
"rationale.arcadia": {
"bytes": 57,
"sha256": "c01867c9dc0d40726853119fac3c6ad24a40d8d362a93a8b9d20df04ec2e273f"
},
"sa/participants.arcadia": {
"bytes": 124,
"sha256": "fb975b83d3ec164c38936bf27fe7d2021cc46805574902a534744b040f7d3ae8"
},
"traceability.arcadia": {
"bytes": 395,
"sha256": "f778acaaa85de0940cedcd9514cd803032a11e782d859454203235febb73e5f0"
},
"views/diagram_rescue_team_operating_modes_states.arcadia": {
"bytes": 842,
"sha256": "498eab80da7ac4523883622a0d008b9033a1305e5bb5f168b8e9d4c41dde62de"
}
}
},
"machine-redo": {
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-machine-redo",
"files": {
"oa/activities/activity_assess_incident.arcadia": {
"bytes": 376,
"sha256": "ae41d7c20b062b39c2edab7fb890a3d88a9ce18fd8d03018ef2d6f95eeff62e8"
},
"oa/behavior/process_coordinate_rescue.arcadia": {
"bytes": 149,
"sha256": "8f393d1cee5e7eed5e41af14539b1fe7ae1c7300dd9383ca0ef1ee17254b6253"
},
"oa/behavior/scenario_rescue_coordination_conversation.arcadia": {
"bytes": 284,
"sha256": "8eed98446dfb4f4dbd5261f550ce8cae1a21d638975d91b32baaf6f309daba98"
},
"oa/participants.arcadia": {
"bytes": 403,
"sha256": "094cab67f34b64902942c10a35bbcd0f760886d862588a0816d6ceb57bacf51b"
},
"project.arcadia": {
"bytes": 5057,
"sha256": "59b61b321b0cf4817c1ff9276fa59deafc09518765e761a2ebd9e5602afab9cb"
},
"rationale.arcadia": {
"bytes": 57,
"sha256": "c01867c9dc0d40726853119fac3c6ad24a40d8d362a93a8b9d20df04ec2e273f"
},
"sa/participants.arcadia": {
"bytes": 285,
"sha256": "9b77b88f66e4e80540ae33b83f1af1f3edcd37dafb98c33a861d4c34c66d2559"
},
"traceability.arcadia": {
"bytes": 395,
"sha256": "f778acaaa85de0940cedcd9514cd803032a11e782d859454203235febb73e5f0"
},
"views/diagram_rescue_team_operating_modes_states.arcadia": {
"bytes": 842,
"sha256": "498eab80da7ac4523883622a0d008b9033a1305e5bb5f168b8e9d4c41dde62de"
}
}
},
"creation-reopen": {
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-creation-reopen",
"files": {
"oa/activities/activity_assess_incident.arcadia": {
"bytes": 376,
"sha256": "ae41d7c20b062b39c2edab7fb890a3d88a9ce18fd8d03018ef2d6f95eeff62e8"
},
"oa/behavior/process_coordinate_rescue.arcadia": {
"bytes": 149,
"sha256": "8f393d1cee5e7eed5e41af14539b1fe7ae1c7300dd9383ca0ef1ee17254b6253"
},
"oa/behavior/scenario_rescue_coordination_conversation.arcadia": {
"bytes": 284,
"sha256": "8eed98446dfb4f4dbd5261f550ce8cae1a21d638975d91b32baaf6f309daba98"
},
"oa/participants.arcadia": {
"bytes": 403,
"sha256": "094cab67f34b64902942c10a35bbcd0f760886d862588a0816d6ceb57bacf51b"
},
"project.arcadia": {
"bytes": 5057,
"sha256": "59b61b321b0cf4817c1ff9276fa59deafc09518765e761a2ebd9e5602afab9cb"
},
"rationale.arcadia": {
"bytes": 57,
"sha256": "c01867c9dc0d40726853119fac3c6ad24a40d8d362a93a8b9d20df04ec2e273f"
},
"sa/participants.arcadia": {
"bytes": 285,
"sha256": "9b77b88f66e4e80540ae33b83f1af1f3edcd37dafb98c33a861d4c34c66d2559"
},
"traceability.arcadia": {
"bytes": 395,
"sha256": "f778acaaa85de0940cedcd9514cd803032a11e782d859454203235febb73e5f0"
},
"views/diagram_rescue_team_operating_modes_states.arcadia": {
"bytes": 842,
"sha256": "498eab80da7ac4523883622a0d008b9033a1305e5bb5f168b8e9d4c41dde62de"
}
}
}
},
"commands": [
{
"label": "self-check",
"command_argv": [
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\behavior-creation-oracle-20260911\\behavior-creation-contract-v2.exe",
"self-check",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\palette-20260910-v3\\checkpoint-transition-reopen\\project.arcadia"
],
"exit_code": 0,
"elapsed_seconds": 0.967588,
"stdout": "PASS self-check Process: full source fixed point; false metadata, unrelated edits and source-only drift rejected\nPASS self-check Scenario: full source fixed point; false metadata, unrelated edits and source-only drift rejected\nPREDICT first view: Rescue team operating modes \u00b7 states; machine-root position Position { x: 60.0, y: 60.0 }, size Size { width: 336.0, height: 104.0 }; 9 exact source files\nPASS self-check Machine: full source fixed point; false metadata, unrelated edits and source-only drift rejected\nPASS explicit Undo disk contract: known detached retention accepted; unknown, changed, missing and reachable drift rejected\nPASS baseline retained unchanged; no native acceptance claimed\n",
"stderr": ""
},
{
"label": "baseline",
"command_argv": [
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\behavior-creation-oracle-20260911\\behavior-creation-contract-v2.exe",
"check",
"baseline",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\palette-20260910-v3\\checkpoint-transition-reopen\\project.arcadia",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\palette-20260910-v3\\checkpoint-transition-reopen\\project.arcadia",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\palette-20260910-v3\\checkpoint-transition-reopen\\project.arcadia"
],
"exit_code": 0,
"elapsed_seconds": 0.119426,
"stdout": "PASS Baseline: complete Project + 6 exact source files; only fresh literal-role UUIDs borrowed\n",
"stderr": ""
},
{
"label": "process",
"command_argv": [
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\behavior-creation-oracle-20260911\\behavior-creation-contract-v2.exe",
"check",
"process",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\palette-20260910-v3\\checkpoint-transition-reopen\\project.arcadia",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-process\\project.arcadia",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-process\\project.arcadia"
],
"exit_code": 0,
"elapsed_seconds": 0.163785,
"stdout": "PASS Process: complete Project + 7 exact source files; only fresh literal-role UUIDs borrowed\n",
"stderr": ""
},
{
"label": "process-undo",
"command_argv": [
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\behavior-creation-oracle-20260911\\behavior-creation-contract-v2.exe",
"same",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\palette-20260910-v3\\checkpoint-transition-reopen\\project.arcadia",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-process-undo\\project.arcadia",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-process\\project.arcadia"
],
"exit_code": 0,
"elapsed_seconds": 0.155607,
"stdout": "PASS exact checkpoint identity/model/6-file SourceBundle equality; 7 exact disk files (1 known retained)\n",
"stderr": ""
},
{
"label": "process-redo",
"command_argv": [
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\behavior-creation-oracle-20260911\\behavior-creation-contract-v2.exe",
"check",
"process",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\palette-20260910-v3\\checkpoint-transition-reopen\\project.arcadia",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-process-redo\\project.arcadia",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-process\\project.arcadia"
],
"exit_code": 0,
"elapsed_seconds": 0.187937,
"stdout": "PASS Process: complete Project + 7 exact source files; only fresh literal-role UUIDs borrowed\n",
"stderr": ""
},
{
"label": "scenario",
"command_argv": [
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\behavior-creation-oracle-20260911\\behavior-creation-contract-v2.exe",
"check",
"scenario",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\palette-20260910-v3\\checkpoint-transition-reopen\\project.arcadia",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-scenario\\project.arcadia",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-scenario\\project.arcadia"
],
"exit_code": 0,
"elapsed_seconds": 0.253057,
"stdout": "PASS Scenario: complete Project + 8 exact source files; only fresh literal-role UUIDs borrowed\n",
"stderr": ""
},
{
"label": "scenario-undo",
"command_argv": [
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\behavior-creation-oracle-20260911\\behavior-creation-contract-v2.exe",
"same",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-process\\project.arcadia",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-scenario-undo\\project.arcadia",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-scenario\\project.arcadia"
],
"exit_code": 0,
"elapsed_seconds": 0.160712,
"stdout": "PASS exact checkpoint identity/model/7-file SourceBundle equality; 8 exact disk files (1 known retained)\n",
"stderr": ""
},
{
"label": "scenario-redo",
"command_argv": [
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\behavior-creation-oracle-20260911\\behavior-creation-contract-v2.exe",
"check",
"scenario",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\palette-20260910-v3\\checkpoint-transition-reopen\\project.arcadia",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-scenario-redo\\project.arcadia",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-scenario\\project.arcadia"
],
"exit_code": 0,
"elapsed_seconds": 0.222,
"stdout": "PASS Scenario: complete Project + 8 exact source files; only fresh literal-role UUIDs borrowed\n",
"stderr": ""
},
{
"label": "machine",
"command_argv": [
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\behavior-creation-oracle-20260911\\behavior-creation-contract-v2.exe",
"check",
"machine",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\palette-20260910-v3\\checkpoint-transition-reopen\\project.arcadia",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-machine\\project.arcadia",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-machine\\project.arcadia"
],
"exit_code": 0,
"elapsed_seconds": 0.266748,
"stdout": "PASS Machine: complete Project + 9 exact source files; only fresh literal-role UUIDs borrowed\n",
"stderr": ""
},
{
"label": "machine-undo",
"command_argv": [
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\behavior-creation-oracle-20260911\\behavior-creation-contract-v2.exe",
"same",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-scenario\\project.arcadia",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-machine-undo\\project.arcadia",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-machine\\project.arcadia"
],
"exit_code": 0,
"elapsed_seconds": 0.122982,
"stdout": "PASS exact checkpoint identity/model/8-file SourceBundle equality; 9 exact disk files (1 known retained)\n",
"stderr": ""
},
{
"label": "machine-redo",
"command_argv": [
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\behavior-creation-oracle-20260911\\behavior-creation-contract-v2.exe",
"check",
"machine",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\palette-20260910-v3\\checkpoint-transition-reopen\\project.arcadia",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-machine-redo\\project.arcadia",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-machine\\project.arcadia"
],
"exit_code": 0,
"elapsed_seconds": 0.229706,
"stdout": "PASS Machine: complete Project + 9 exact source files; only fresh literal-role UUIDs borrowed\n",
"stderr": ""
},
{
"label": "reopen-contract",
"command_argv": [
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\behavior-creation-oracle-20260911\\behavior-creation-contract-v2.exe",
"check",
"machine",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\palette-20260910-v3\\checkpoint-transition-reopen\\project.arcadia",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-creation-reopen\\project.arcadia",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-machine\\project.arcadia"
],
"exit_code": 0,
"elapsed_seconds": 0.192465,
"stdout": "PASS Machine: complete Project + 9 exact source files; only fresh literal-role UUIDs borrowed\n",
"stderr": ""
},
{
"label": "reopen-exact-redo",
"command_argv": [
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\behavior-creation-oracle-20260911\\behavior-creation-contract-v2.exe",
"same",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-machine-redo\\project.arcadia",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-creation-reopen\\project.arcadia"
],
"exit_code": 0,
"elapsed_seconds": 0.131742,
"stdout": "PASS exact checkpoint identity/model/9-file SourceBundle equality; 9 exact disk files (0 known retained)\n",
"stderr": ""
}
],
"all_checkpoint_files_unchanged": true,
"machine_redo_reopen_inventory_equal": true,
"machine_redo_reopen_direct_byte_comparisons": {
"oa/activities/activity_assess_incident.arcadia": true,
"oa/behavior/process_coordinate_rescue.arcadia": true,
"oa/behavior/scenario_rescue_coordination_conversation.arcadia": true,
"oa/participants.arcadia": true,
"project.arcadia": true,
"rationale.arcadia": true,
"sa/participants.arcadia": true,
"traceability.arcadia": true,
"views/diagram_rescue_team_operating_modes_states.arcadia": true
},
"log": {
"path": "harness/experiments/behavior-creation-native-20260911/commands-results.log",
"bytes": 9392,
"sha256": "f5bfbee185f7064419b1bd9fe33ec6a48526b5bbe3f818c006feb74eddf8e189"
},
"pass": true
}
@@ -0,0 +1,200 @@
{
"reviewer": "Codex-9e8r6t /root/palette_finish",
"started_utc": "2026-09-11T09:22:33.387447+00:00",
"finished_utc": "2026-09-11T09:22:34.502189+00:00",
"scope": "Immutable evidence only; native observations supplied separately by root. No live work/profile/UI/Cargo access; no persisted Undo claim.",
"artifacts": [
{
"path": "harness/experiments/behavior-creation-native-20260911/verify-recovery.py",
"bytes": 5560,
"sha256": "3546b4fe68d3e1a2474015be1b652a665af238e5fcf63e04bac3f25df3d35e90"
},
{
"path": "harness/experiments/behavior-creation-native-20260911/manifest.json",
"bytes": 30406,
"sha256": "356dfbb27dec04764a4b3f2372602f39953b472baac0a3de3e72acd9c1d76b8a"
},
{
"path": ".local/behavior-creation-oracle-20260911/behavior-creation-contract-v2.exe",
"bytes": 20757504,
"sha256": "056eefd444924916bf6ac3c4897ab2ff4a8a4bb892e1dbc16adad32e59bf6a36"
},
{
"path": ".local/native-qa/behavior-20260911-v4/recovery-evidence/before-interruption.json",
"bytes": 27382,
"sha256": "0c355aa3c7b9be623d767ff35c4b85cf7b2907eb9bc3be39d619aa610c989692"
},
{
"path": ".local/native-qa/behavior-20260911-v4/recovery-evidence/after-recovery-and-typing.json",
"bytes": 27263,
"sha256": "fafa7a884275bac09afab365f8ab0063f998ca56c5ffc70be596db6f78a10103"
},
{
"path": ".local/native-qa/behavior-20260911-v4/recovery-evidence/restored-draft.png",
"bytes": 113820,
"sha256": "8ae0fe8957d5a935b6e2605a6ffb68934bd0e8840f3594c43e63865ab89d03c9"
},
{
"path": ".local/native-qa/behavior-20260911-v4/recovery-launch.json",
"bytes": 812,
"sha256": "641ff05ea50d551a51e642f728650cf254dbf131cfb2f585865db436a8877396"
},
{
"path": ".local/native-qa/behavior-20260911-v4/bin/arcadia-studio.exe",
"bytes": 111163904,
"sha256": "d4d9c2bd937e301ff1009d7cb93a34ee5aa6dfc837ff7e87d468c85371b20c31"
}
],
"input_file_inventories": {
".local\\native-qa\\behavior-20260911-v4\\checkpoint-creation-reopen": {
"oa/activities/activity_assess_incident.arcadia": {
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-creation-reopen/oa/activities/activity_assess_incident.arcadia",
"bytes": 376,
"sha256": "ae41d7c20b062b39c2edab7fb890a3d88a9ce18fd8d03018ef2d6f95eeff62e8"
},
"oa/behavior/process_coordinate_rescue.arcadia": {
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-creation-reopen/oa/behavior/process_coordinate_rescue.arcadia",
"bytes": 149,
"sha256": "8f393d1cee5e7eed5e41af14539b1fe7ae1c7300dd9383ca0ef1ee17254b6253"
},
"oa/behavior/scenario_rescue_coordination_conversation.arcadia": {
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-creation-reopen/oa/behavior/scenario_rescue_coordination_conversation.arcadia",
"bytes": 284,
"sha256": "8eed98446dfb4f4dbd5261f550ce8cae1a21d638975d91b32baaf6f309daba98"
},
"oa/participants.arcadia": {
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-creation-reopen/oa/participants.arcadia",
"bytes": 403,
"sha256": "094cab67f34b64902942c10a35bbcd0f760886d862588a0816d6ceb57bacf51b"
},
"project.arcadia": {
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-creation-reopen/project.arcadia",
"bytes": 5057,
"sha256": "59b61b321b0cf4817c1ff9276fa59deafc09518765e761a2ebd9e5602afab9cb"
},
"rationale.arcadia": {
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-creation-reopen/rationale.arcadia",
"bytes": 57,
"sha256": "c01867c9dc0d40726853119fac3c6ad24a40d8d362a93a8b9d20df04ec2e273f"
},
"sa/participants.arcadia": {
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-creation-reopen/sa/participants.arcadia",
"bytes": 285,
"sha256": "9b77b88f66e4e80540ae33b83f1af1f3edcd37dafb98c33a861d4c34c66d2559"
},
"traceability.arcadia": {
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-creation-reopen/traceability.arcadia",
"bytes": 395,
"sha256": "f778acaaa85de0940cedcd9514cd803032a11e782d859454203235febb73e5f0"
},
"views/diagram_rescue_team_operating_modes_states.arcadia": {
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-creation-reopen/views/diagram_rescue_team_operating_modes_states.arcadia",
"bytes": 842,
"sha256": "498eab80da7ac4523883622a0d008b9033a1305e5bb5f168b8e9d4c41dde62de"
}
},
".local\\native-qa\\behavior-20260911-v4\\checkpoint-recovery-cancel": {
"oa/activities/activity_assess_incident.arcadia": {
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-recovery-cancel/oa/activities/activity_assess_incident.arcadia",
"bytes": 376,
"sha256": "ae41d7c20b062b39c2edab7fb890a3d88a9ce18fd8d03018ef2d6f95eeff62e8"
},
"oa/behavior/process_coordinate_rescue.arcadia": {
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-recovery-cancel/oa/behavior/process_coordinate_rescue.arcadia",
"bytes": 149,
"sha256": "8f393d1cee5e7eed5e41af14539b1fe7ae1c7300dd9383ca0ef1ee17254b6253"
},
"oa/behavior/scenario_rescue_coordination_conversation.arcadia": {
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-recovery-cancel/oa/behavior/scenario_rescue_coordination_conversation.arcadia",
"bytes": 284,
"sha256": "8eed98446dfb4f4dbd5261f550ce8cae1a21d638975d91b32baaf6f309daba98"
},
"oa/participants.arcadia": {
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-recovery-cancel/oa/participants.arcadia",
"bytes": 403,
"sha256": "094cab67f34b64902942c10a35bbcd0f760886d862588a0816d6ceb57bacf51b"
},
"project.arcadia": {
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-recovery-cancel/project.arcadia",
"bytes": 5057,
"sha256": "59b61b321b0cf4817c1ff9276fa59deafc09518765e761a2ebd9e5602afab9cb"
},
"rationale.arcadia": {
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-recovery-cancel/rationale.arcadia",
"bytes": 57,
"sha256": "c01867c9dc0d40726853119fac3c6ad24a40d8d362a93a8b9d20df04ec2e273f"
},
"sa/participants.arcadia": {
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-recovery-cancel/sa/participants.arcadia",
"bytes": 285,
"sha256": "9b77b88f66e4e80540ae33b83f1af1f3edcd37dafb98c33a861d4c34c66d2559"
},
"traceability.arcadia": {
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-recovery-cancel/traceability.arcadia",
"bytes": 395,
"sha256": "f778acaaa85de0940cedcd9514cd803032a11e782d859454203235febb73e5f0"
},
"views/diagram_rescue_team_operating_modes_states.arcadia": {
"path": ".local/native-qa/behavior-20260911-v4/checkpoint-recovery-cancel/views/diagram_rescue_team_operating_modes_states.arcadia",
"bytes": 842,
"sha256": "498eab80da7ac4523883622a0d008b9033a1305e5bb5f168b8e9d4c41dde62de"
}
}
},
"checks": {
"literal_name_before": true,
"literal_name_after": true,
"sa_machine": true,
"selected_exact_system_actor": true,
"first_view_selected": true,
"complete_behavior_equal_except_deliberate_suffix": true,
"accepted_exact_json_equality": true,
"workspace_exact_json_equality": true,
"property_exact_json_equality": true,
"workflow_exact_json_equality": true,
"selected_exact_json_equality": true,
"reserved_ids_unchanged": true,
"complete_file_inventory_equal": true,
"complete_file_bytes_equal": true,
"accepted_snapshot_exactly_matches_saved_checkpoint": true,
"reserved_objects_not_committed": true,
"oracle_same_pass": true,
"input_files_unchanged": true,
"evidence_and_prior_manifest_unchanged": true
},
"reserved_ids": {
"element": "c6f559f5-401e-4e0d-af93-91faee68d3f5",
"diagram": "11ad8f0a-73aa-416a-bbeb-9b886bf39854",
"placement": "171f7d7e-3a8f-4200-86f6-a9e2efd87610"
},
"reopen_recovery_cancel_direct_byte_comparisons": {
"views/diagram_rescue_team_operating_modes_states.arcadia": true,
"traceability.arcadia": true,
"oa/activities/activity_assess_incident.arcadia": true,
"sa/participants.arcadia": true,
"rationale.arcadia": true,
"oa/behavior/process_coordinate_rescue.arcadia": true,
"project.arcadia": true,
"oa/participants.arcadia": true,
"oa/behavior/scenario_rescue_coordination_conversation.arcadia": true
},
"comparison_origin": "checkpoint-creation-reopen",
"command": {
"command_argv": [
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\behavior-creation-oracle-20260911\\behavior-creation-contract-v2.exe",
"same",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-creation-reopen\\project.arcadia",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\native-qa\\behavior-20260911-v4\\checkpoint-recovery-cancel\\project.arcadia"
],
"exit_code": 0,
"elapsed_seconds": 0.147209,
"stdout": "PASS exact checkpoint identity/model/9-file SourceBundle equality; 9 exact disk files (0 known retained)\n",
"stderr": ""
},
"log": {
"path": "harness/experiments/behavior-creation-native-20260911/recovery-commands-results.log",
"bytes": 641,
"sha256": "1dc3e89aa46660bfad796e7b6bf821bebd7e5bc5a7902a826021d461a3e74c68"
},
"pass": true
}
@@ -0,0 +1,89 @@
"""Verify immutable recovery evidence; never access live profile/work or UI."""
from pathlib import Path
import copy
import datetime
import hashlib
import json
import os
import subprocess
import time
ROOT = Path(__file__).resolve().parents[3]
OUT = Path(__file__).resolve().parent
STAGE = ROOT / '.local/native-qa/behavior-20260911-v4'
EVIDENCE = STAGE / 'recovery-evidence'
EXPECTED = STAGE / 'checkpoint-creation-reopen'
ACTUAL = STAGE / 'checkpoint-recovery-cancel'
EXE = ROOT / '.local/behavior-creation-oracle-20260911/behavior-creation-contract-v2.exe'
def record(path):
data = path.read_bytes()
return {'path': path.relative_to(ROOT).as_posix(), 'bytes': len(data),
'sha256': hashlib.sha256(data).hexdigest()}
def inventory(directory):
return {p.relative_to(directory).as_posix(): record(p)
for p in sorted(directory.rglob('*')) if p.is_file()}
artifacts = [record(p) for p in (Path(__file__), OUT / 'manifest.json', EXE,
EVIDENCE / 'before-interruption.json', EVIDENCE / 'after-recovery-and-typing.json',
EVIDENCE / 'restored-draft.png', STAGE / 'recovery-launch.json', STAGE / 'bin/arcadia-studio.exe')]
assert artifacts[1]['sha256'] == '356dfbb27dec04764a4b3f2372602f39953b472baac0a3de3e72acd9c1d76b8a'
assert artifacts[2]['sha256'] == '056eefd444924916bf6ac3c4897ab2ff4a8a4bb892e1dbc16adad32e59bf6a36'
before = json.loads((EVIDENCE / 'before-interruption.json').read_text(encoding='utf-8-sig'))
after = json.loads((EVIDENCE / 'after-recovery-and-typing.json').read_text(encoding='utf-8-sig'))
draft = before['behavior']['draft']
expected_name = 'Recovery — secours Δ «operating modes»'
checks = {'literal_name_before': draft['name'] == expected_name,
'literal_name_after': after['behavior']['draft']['name'] == expected_name + ' · resumed',
'sa_machine': draft['layer'] == 'Sa' and draft['family'] == 'Machine',
'selected_exact_system_actor': draft['owner'] == 'c0629449-1209-4b50-afac-f558a9a0fc7f',
'first_view_selected': draft['first_view'] is True}
normalized = copy.deepcopy(after['behavior'])
if checks['literal_name_after']:
normalized['draft']['name'] = expected_name
checks['complete_behavior_equal_except_deliberate_suffix'] = normalized == before['behavior']
for field in ('accepted', 'workspace', 'property', 'workflow', 'selected'):
checks[field + '_exact_json_equality'] = before[field] == after[field]
reserved = {field: draft[field] for field in ('element', 'diagram', 'placement')}
checks['reserved_ids_unchanged'] = all(after['behavior']['draft'][k] == v for k, v in reserved.items())
inputs = {str(p.relative_to(ROOT)): inventory(p) for p in (EXPECTED, ACTUAL)}
expected_names = set(inputs[str(EXPECTED.relative_to(ROOT))])
actual_names = set(inputs[str(ACTUAL.relative_to(ROOT))])
checks['complete_file_inventory_equal'] = expected_names == actual_names
byte_results = {name: (EXPECTED / name).read_bytes() == (ACTUAL / name).read_bytes()
for name in expected_names if name in actual_names}
checks['complete_file_bytes_equal'] = all(byte_results.values()) and len(byte_results) == len(expected_names)
checks['accepted_snapshot_exactly_matches_saved_checkpoint'] = (
set(before['accepted']['files']) == expected_names and
all(text.encode('utf-8') == (EXPECTED / name).read_bytes()
for name, text in before['accepted']['files'].items()))
checks['reserved_objects_not_committed'] = all(
all(value.encode('utf-8') not in (ACTUAL / name).read_bytes() for value in reserved.values())
for name in actual_names)
command = [str(EXE), 'same', str(EXPECTED / 'project.arcadia'), str(ACTUAL / 'project.arcadia')]
env = os.environ.copy()
env['PATH'] = str(STAGE / 'bin') + os.pathsep + env.get('PATH', '')
started = datetime.datetime.now(datetime.timezone.utc).isoformat()
tick = time.perf_counter()
run = subprocess.run(command, cwd=ROOT, env=env, capture_output=True, text=True, encoding='utf-8', errors='replace', timeout=60)
elapsed = time.perf_counter() - tick
checks['oracle_same_pass'] = run.returncode == 0
checks['input_files_unchanged'] = inputs == {str(p.relative_to(ROOT)): inventory(p) for p in (EXPECTED, ACTUAL)}
checks['evidence_and_prior_manifest_unchanged'] = artifacts == [record(ROOT / item['path']) for item in artifacts]
result = {'command_argv': command, 'exit_code': run.returncode,
'elapsed_seconds': round(elapsed, 6), 'stdout': run.stdout, 'stderr': run.stderr}
(OUT / 'recovery-commands-results.log').write_text(json.dumps(result, indent=2) + '\n', encoding='utf-8', newline='\n')
manifest = {'reviewer': 'Codex-9e8r6t /root/palette_finish', 'started_utc': started,
'finished_utc': datetime.datetime.now(datetime.timezone.utc).isoformat(),
'scope': 'Immutable evidence only; native observations supplied separately by root. No live work/profile/UI/Cargo access; no persisted Undo claim.',
'artifacts': artifacts, 'input_file_inventories': inputs, 'checks': checks,
'reserved_ids': reserved, 'reopen_recovery_cancel_direct_byte_comparisons': byte_results,
'comparison_origin': 'checkpoint-creation-reopen', 'command': result,
'log': record(OUT / 'recovery-commands-results.log'), 'pass': all(checks.values())}
(OUT / 'recovery-manifest.json').write_text(json.dumps(manifest, indent=2) + '\n', encoding='utf-8', newline='\n')
print(json.dumps({'pass': manifest['pass'], 'checks': checks, 'manifest': record(OUT / 'recovery-manifest.json')}))
raise SystemExit(0 if manifest['pass'] else 1)
@@ -0,0 +1,93 @@
"""Read only frozen checkpoints; run the existing v2 oracle without compiling."""
from pathlib import Path
import datetime
import hashlib
import json
import os
import subprocess
import time
ROOT = Path(__file__).resolve().parents[3]
OUT = Path(__file__).resolve().parent
STAGE = ROOT / '.local/native-qa/behavior-20260911-v4'
BASE = ROOT / '.local/native-qa/palette-20260910-v3/checkpoint-transition-reopen'
EXE = ROOT / '.local/behavior-creation-oracle-20260911/behavior-creation-contract-v2.exe'
def record(path):
data = path.read_bytes()
return {'path': path.relative_to(ROOT).as_posix(), 'bytes': len(data),
'sha256': hashlib.sha256(data).hexdigest()}
def inventory(directory):
return {p.relative_to(directory).as_posix(): {
'bytes': p.stat().st_size, 'sha256': hashlib.sha256(p.read_bytes()).hexdigest()
} for p in sorted(directory.rglob('*')) if p.is_file()}
def entry(directory):
return str(directory / 'project.arcadia')
checkpoints = {'baseline': BASE}
for family in ('process', 'scenario', 'machine'):
for suffix in ('', '-undo', '-redo'):
checkpoints[family + suffix] = STAGE / ('checkpoint-' + family + suffix)
checkpoints['creation-reopen'] = STAGE / 'checkpoint-creation-reopen'
before = {name: inventory(path) for name, path in checkpoints.items()}
artifacts = [record(p) for p in (
EXE, ROOT / 'harness/behavior-creation-contract.rs', Path(__file__),
STAGE / 'bin/arcadia-studio.exe', STAGE / 'bin/libunwind.dll',
STAGE / 'bin/manifest.json', STAGE / 'baseline-source-manifest.json',
STAGE / 'cancel-save-verification.json', STAGE / 'scenario-empty-saved.png',
STAGE / 'machine-created-saved.png')]
assert artifacts[0]['sha256'] == '056eefd444924916bf6ac3c4897ab2ff4a8a4bb892e1dbc16adad32e59bf6a36'
assert artifacts[1]['sha256'] == '51ab2ffa1826dd949b79f3a9690042a2f9e38daf9ed91517cade3861482117ba'
commands = [('self-check', ['self-check', entry(BASE)]),
('baseline', ['check', 'baseline', entry(BASE), entry(BASE), entry(BASE)])]
previous = BASE
for family in ('process', 'scenario', 'machine'):
first = checkpoints[family]
commands.extend([
(family, ['check', family, entry(BASE), entry(first), entry(first)]),
(family + '-undo', ['same', entry(previous), entry(checkpoints[family + '-undo']), entry(first)]),
(family + '-redo', ['check', family, entry(BASE), entry(checkpoints[family + '-redo']), entry(first)])])
previous = first
commands.extend([
('reopen-contract', ['check', 'machine', entry(BASE), entry(checkpoints['creation-reopen']), entry(checkpoints['machine'])]),
('reopen-exact-redo', ['same', entry(checkpoints['machine-redo']), entry(checkpoints['creation-reopen'])])])
env = os.environ.copy()
env['PATH'] = str(STAGE / 'bin') + os.pathsep + env.get('PATH', '')
started = datetime.datetime.now(datetime.timezone.utc).isoformat()
results = []
for label, args in commands:
t = time.perf_counter()
command = [str(EXE), *args]
run = subprocess.run(command, cwd=ROOT, env=env, capture_output=True, text=True, encoding='utf-8', errors='replace', timeout=60)
results.append({'label': label, 'command_argv': command, 'exit_code': run.returncode,
'elapsed_seconds': round(time.perf_counter() - t, 6),
'stdout': run.stdout, 'stderr': run.stderr})
after = {name: inventory(path) for name, path in checkpoints.items()}
redo_files = checkpoints['machine-redo']
reopen_files = checkpoints['creation-reopen']
same_names = set(before['machine-redo']) == set(before['creation-reopen'])
byte_results = {name: (redo_files / name).read_bytes() == (reopen_files / name).read_bytes()
for name in before['machine-redo'] if (reopen_files / name).is_file()}
success = (all(r['exit_code'] == 0 for r in results) and before == after
and same_names and all(byte_results.values()))
log = '\n\n'.join(f"[{r['label']}] argv={json.dumps(r['command_argv'])}\nexit={r['exit_code']} elapsed={r['elapsed_seconds']}s\nstdout:\n{r['stdout']}stderr:\n{r['stderr']}" for r in results)
(OUT / 'commands-results.log').write_text(log + '\n', encoding='utf-8', newline='\n')
manifest = {'reviewer': 'Codex-9e8r6t /root/palette_finish', 'started_utc': started,
'finished_utc': datetime.datetime.now(datetime.timezone.utc).isoformat(),
'scope': 'Frozen checkpoints only; no live work/profile/UI access or compilation.',
'artifacts': artifacts, 'checkpoints': {name: {'path': path.relative_to(ROOT).as_posix(), 'files': before[name]} for name, path in checkpoints.items()},
'commands': results, 'all_checkpoint_files_unchanged': before == after,
'machine_redo_reopen_inventory_equal': same_names,
'machine_redo_reopen_direct_byte_comparisons': byte_results,
'log': record(OUT / 'commands-results.log'), 'pass': success}
(OUT / 'manifest.json').write_text(json.dumps(manifest, indent=2) + '\n', encoding='utf-8', newline='\n')
print(json.dumps({'pass': success, 'commands_passed': sum(r['exit_code'] == 0 for r in results),
'commands_total': len(results), 'unchanged_checkpoints': before == after,
'reopen_exact_files': len(byte_results), 'manifest': record(OUT / 'manifest.json')}))
raise SystemExit(0 if success else 1)
@@ -0,0 +1,37 @@
# Existing source-7 constructor defaults
Compatibility experiment, not proposed grammar. `probe.rs` imports only the
matching existing `oa_core` rlib; it performs no production or Cargo edits.
In a coordinated direct-rustc writer slot:
```powershell
. .local/toolchain/env.ps1
rustc --edition 2024 -D warnings --crate-name constructor_defaults_probe harness/experiments/constructor-defaults-20260911/probe.rs --extern oa_core=.local/target-gnullvm/debug/deps/liboa_core-3e81c616fea1d901.rlib -L dependency=.local/target-gnullvm/debug/deps -C linker=clang.exe -o .local/constructor-defaults-20260911/probe.exe
& .local/constructor-defaults-20260911/probe.exe NEW_ISOLATED_OUTPUT_DIRECTORY
```
Use a fresh output directory when reproducing so the committed evidence is not
overwritten. The rlib SHA256 is
`5018A1FD7286ED9DFEDCBBF5B68B399AD5D143F2A9AAAED3078CFC934C9589C4`.
The exact compiler, core source hashes, executable hash and result inventory
are in `provenance.json`.
`results/results.tsv` records **54 admitted explicit/omitted cases** and
**12 missing-required-field refusals**, covering both OA and SA source 7.
Every admitted occurrence is compared with a literal expected typed body and
the full explicit-case Project. It also requires exact source retention on
stabilization/no-op, a name-only patch retaining omissions, and canonical
format/reparse equality. Both scenario viewpoint omission cases separately
require MixedLegacy equality and canonical stability.
The `.canonical.arcadia` siblings intentionally expand hydrated defaults;
they are not expected to retain authored omission. Exchange `operation none`
is deliberately omitted by canonical serialization. Files named
`omit-bindings`, `omit-kind`, `omit-operator`, `omit-branches`, `omit-guard`, or
`omit-occurrences` are **expected invalid fixtures**, retained to show the
specific missing-field diagnostic. They are not modeling examples.
The program/result files are durable evidence. The compiled executable and
initial/final build logs remain in ignored `.local/constructor-defaults-20260911/`.
Other constructor families and old schema versions were not exhaustively tested.
@@ -0,0 +1,316 @@
//! Existing source-7 admission experiment; imports no desktop producer.
use oa_core::{source_project::*, *};
use std::{fs, path::Path};
struct Case {
kind: &'static str,
fields: Vec<(&'static str, &'static str, bool)>,
expected: OccurrenceBody,
}
fn cases() -> Vec<Case> {
vec![
Case {
kind: "Exchange",
fields: vec![
("exchange", "none", false),
("sender", "none", false),
("receiver", "none", false),
("message_kind", "Asynchronous", false),
("reply_to", "none", false),
("values", "[]", false),
("operation", "none", false),
],
expected: OccurrenceBody::Exchange {
exchange: None,
sender: None,
receiver: None,
message_kind: MessageKind::Asynchronous,
reply_to: None,
values: vec![],
operation: None,
},
},
Case {
kind: "Action",
fields: vec![("action", "none", false), ("lifeline", "none", false)],
expected: OccurrenceBody::Action {
action: None,
lifeline: None,
},
},
Case {
kind: "State",
fields: vec![("state", "none", false), ("lifeline", "none", false)],
expected: OccurrenceBody::State {
state: None,
lifeline: None,
},
},
Case {
kind: "SequenceReference",
fields: vec![("sequence", "none", false)],
expected: OccurrenceBody::SequenceReference { sequence: None },
},
Case {
kind: "ScenarioUse",
fields: vec![("scenario", "none", false), ("bindings", "[]", true)],
expected: OccurrenceBody::ScenarioUse {
scenario: None,
bindings: vec![],
},
},
Case {
kind: "Control",
fields: vec![("kind", "Choice", true)],
expected: OccurrenceBody::Control {
kind: ControlKind::Choice,
},
},
Case {
kind: "Fragment",
fields: vec![("operator", "Alternative", true), ("branches", "[]", true)],
expected: OccurrenceBody::Fragment {
operator: FragmentOperator::Alternative,
branches: vec![],
},
},
Case {
kind: "Branch",
fields: vec![("guard", "\"\"", true), ("occurrences", "[]", true)],
expected: OccurrenceBody::Branch {
guard: String::new(),
occurrences: vec![],
},
},
]
}
fn id(last: u8) -> Id {
Id::parse_str(&format!("00000000-0000-4000-8000-{last:012}")).unwrap()
}
fn fixture(layer: Layer, kind: &str, fields: &str) -> String {
let prefix = if layer == Layer::Oa { "oa" } else { "sa" };
let sequence = if layer == Layer::Oa {
"oa_process"
} else {
"sa_functional_chain"
};
let viewpoint = if layer == Layer::Oa {
"OperationalActivity"
} else {
"Functional"
};
let root_sequence = matches!(
kind,
"Exchange" | "Action" | "Control" | "SequenceReference"
);
let owner_kind = if root_sequence {
sequence.to_owned()
} else {
format!("{prefix}_scenario")
};
let owner_view = if root_sequence {
String::new()
} else {
format!("viewpoint {viewpoint};")
};
let step = if kind == "Branch" {
"holder"
} else {
"subject"
};
let parent = if kind == "Branch" { "holder" } else { "owner" };
let holder = if kind == "Branch" {
format!(
"{prefix}_occurrence holder \"Fragment owner\" id \"{}\" {{ parent @owner; body {{ Fragment {{ operator Alternative; branches [@subject]; }}; }}; }}",
id(4)
)
} else {
String::new()
};
format!(
"arcadia 7;\nproject defaults \"Constructor defaults\" id \"{}\" {{\n {owner_kind} owner \"Owner\" id \"{}\" {{ {owner_view} steps [@{step}]; }}\n {holder}\n // Authored omissions must stay omitted through no-op and a name edit.\n {prefix}_occurrence subject \"Subject\" id \"{}\" {{ parent @{parent}; body {{ {kind} {{ {fields} }}; }}; }}\n}}\n",
id(1),
id(2),
id(3)
)
}
fn bundle(source: &str) -> SourceBundle {
SourceBundle {
entry: "project.arcadia".into(),
files: [("project.arcadia".into(), source.into())]
.into_iter()
.collect(),
}
}
fn compile(source: &str) -> Result<CompiledSourceProject, Vec<SourceDiagnostic>> {
compile_bundle(&bundle(source), ProjectLimits::default())
}
fn body(project: &Project) -> &OccurrenceBody {
let Some(SharedBody::Occurrence { body, .. }) = project.elements[&id(3)].shared() else {
panic!("Subject is not an occurrence")
};
body
}
fn accepted(out: &Path, name: &str, source: &str, expected: &Project) -> usize {
fs::write(out.join(format!("{name}.arcadia")), source).unwrap();
let compiled = compile(source).unwrap_or_else(|e| panic!("{name}: {e:?}"));
assert_eq!(
&compiled.decoded.project, expected,
"{name}: exact complete Project"
);
assert_eq!(
compiled.bundle,
bundle(source),
"{name}: explicit UUIDs need no stabilization edit"
);
execute_batch(expected, &[]).unwrap();
let noop = update_bundle(&compiled, expected, ProjectLimits::default()).unwrap();
assert_eq!(
noop.bundle, compiled.bundle,
"{name}: no-op preserves all authored omissions"
);
let renamed = execute_batch(
expected,
&[Command::Rename(id(3), "Renamed subject".into())],
)
.unwrap();
let edited = update_bundle(&compiled, &renamed, ProjectLimits::default()).unwrap();
assert_eq!(
edited.bundle,
bundle(&source.replace("\"Subject\"", "\"Renamed subject\"")),
"{name}: name-only edit preserves constructor spelling"
);
let canonical = language::format(expected);
fs::write(out.join(format!("{name}.canonical.arcadia")), &canonical).unwrap();
assert_eq!(
compile(&canonical).unwrap().decoded.project,
*expected,
"{name}: canonical roundtrip"
);
if matches!(
body(expected),
OccurrenceBody::Exchange {
operation: None,
..
}
) {
assert!(canonical.contains("message_kind Asynchronous;"));
assert!(canonical.contains("reply_to none;") && canonical.contains("values [];"));
assert!(
!canonical.contains("operation "),
"None operation is deliberately skipped by canonical serialization"
);
}
validation::validate(expected).len()
}
fn main() {
let out_arg = std::env::args().nth(1).expect("output directory");
let out = Path::new(&out_arg);
fs::create_dir_all(out).unwrap();
let mut rows = String::from("case\tlayer\tresult\tdetail\n");
let mut passes = 0;
let mut rejects = 0;
for layer in [Layer::Oa, Layer::Sa] {
for case in cases() {
let explicit_fields = case
.fields
.iter()
.map(|(name, value, _)| format!("{name} {value};"))
.collect::<Vec<_>>()
.join(" ");
let explicit = fixture(layer, case.kind, &explicit_fields);
let baseline = compile(&explicit)
.unwrap_or_else(|e| panic!("{layer} {} explicit: {e:?}", case.kind));
assert_eq!(body(&baseline.decoded.project), &case.expected);
let name = format!("{layer}-{}-explicit", case.kind);
let issues = accepted(out, &name, &explicit, &baseline.decoded.project);
rows.push_str(&format!("{name}\t{layer}\taccept\texact Project, raw/no-op/name/canonical; {issues} model issues\n"));
passes += 1;
for (omit, _, required) in &case.fields {
let fields = case
.fields
.iter()
.filter(|(field, _, _)| field != omit)
.map(|(field, value, _)| format!("{field} {value};"))
.collect::<Vec<_>>()
.join(" ");
let source = fixture(layer, case.kind, &fields);
let name = format!("{layer}-{}-omit-{omit}", case.kind);
if *required {
fs::write(out.join(format!("{name}.arcadia")), &source).unwrap();
let errors = compile(&source).expect_err("Required field omission must reject");
let detail = format!("{errors:?}");
assert!(
detail.contains("missing field") && detail.contains(omit),
"{name}: must fail on the missing constructor field: {detail}"
);
rows.push_str(&format!("{name}\t{layer}\treject\t{detail}\n"));
rejects += 1;
} else {
let issues = accepted(out, &name, &source, &baseline.decoded.project);
rows.push_str(&format!("{name}\t{layer}\taccept\texact Project, raw/no-op/name/canonical; {issues} model issues\n"));
passes += 1;
}
}
if case.fields.iter().any(|(_, _, required)| !required) {
let fields = case
.fields
.iter()
.filter(|(_, _, required)| *required)
.map(|(field, value, _)| format!("{field} {value};"))
.collect::<Vec<_>>()
.join(" ");
let name = format!("{layer}-{}-omit-all-optional", case.kind);
let issues = accepted(
out,
&name,
&fixture(layer, case.kind, &fields),
&baseline.decoded.project,
);
rows.push_str(&format!("{name}\t{layer}\taccept\texact Project, raw/no-op/name/canonical; {issues} model issues\n"));
passes += 1;
}
}
let prefix = if layer == Layer::Oa { "oa" } else { "sa" };
let source = format!(
"arcadia 7;\nproject defaults \"Defaults\" id \"{}\" {{ {prefix}_scenario scene \"Scene\" id \"{}\" {{ }} }}\n",
id(1),
id(2)
);
let compiled = compile(&source).unwrap();
let explicit = source.replace("{ }", "{ viewpoint MixedLegacy; }");
assert_eq!(
compiled.decoded.project,
compile(&explicit).unwrap().decoded.project
);
assert_eq!(compiled.bundle, bundle(&source));
assert!(matches!(
compiled.decoded.project.elements[&id(2)].shared(),
Some(SharedBody::Scenario {
viewpoint: ScenarioViewpoint::MixedLegacy,
..
})
));
let canonical = language::format(&compiled.decoded.project);
assert_eq!(
compile(&canonical).unwrap().decoded.project,
compiled.decoded.project
);
fs::write(
out.join(format!("{layer}-scenario-viewpoint-omitted.arcadia")),
source,
)
.unwrap();
fs::write(
out.join(format!("{layer}-scenario-viewpoint-explicit.arcadia")),
explicit,
)
.unwrap();
rows.push_str(&format!("{layer}-scenario-viewpoint\t{layer}\taccept\texact MixedLegacy Project, retained omission, canonical roundtrip\n"));
passes += 1;
}
fs::write(out.join("results.tsv"), rows).unwrap();
println!(
"PASS: {passes} accepted explicit/omitted comparisons; {rejects} missing-required-field refusals; both source-7 layers. Full Project, canonical roundtrip, no-op and exact name-only source retention checked."
);
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,7 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
// Authored omissions must stay omitted through no-op and a name edit.
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Action { action none; lifeline none; }; }; }
}
@@ -0,0 +1,24 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
description "";
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
description "";
parent none;
steps [@subject];
}
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
body {
Action {
action none;
lifeline none;
};
};
description "";
parent @owner;
postcondition "";
precondition "";
}
}
@@ -0,0 +1,7 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
// Authored omissions must stay omitted through no-op and a name edit.
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Action { lifeline none; }; }; }
}
@@ -0,0 +1,24 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
description "";
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
description "";
parent none;
steps [@subject];
}
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
body {
Action {
action none;
lifeline none;
};
};
description "";
parent @owner;
postcondition "";
precondition "";
}
}
@@ -0,0 +1,7 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
// Authored omissions must stay omitted through no-op and a name edit.
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Action { }; }; }
}
@@ -0,0 +1,24 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
description "";
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
description "";
parent none;
steps [@subject];
}
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
body {
Action {
action none;
lifeline none;
};
};
description "";
parent @owner;
postcondition "";
precondition "";
}
}
@@ -0,0 +1,7 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
// Authored omissions must stay omitted through no-op and a name edit.
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Action { action none; }; }; }
}
@@ -0,0 +1,24 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
description "";
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
description "";
parent none;
steps [@subject];
}
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
body {
Action {
action none;
lifeline none;
};
};
description "";
parent @owner;
postcondition "";
precondition "";
}
}
@@ -0,0 +1,7 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" { viewpoint OperationalActivity; steps [@holder]; }
oa_occurrence holder "Fragment owner" id "00000000-0000-4000-8000-000000000004" { parent @owner; body { Fragment { operator Alternative; branches [@subject]; }; }; }
// Authored omissions must stay omitted through no-op and a name edit.
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @holder; body { Branch { guard ""; occurrences []; }; }; }
}
@@ -0,0 +1,41 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
description "";
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" {
context none;
description "";
parent none;
postcondition "";
precondition "";
steps [@holder];
viewpoint OperationalActivity;
}
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
body {
Branch {
guard "";
occurrences [];
};
};
description "";
parent @holder;
postcondition "";
precondition "";
}
oa_occurrence holder "Fragment owner" id "00000000-0000-4000-8000-000000000004" {
body {
Fragment {
branches [@subject];
operator Alternative;
};
};
description "";
parent @owner;
postcondition "";
precondition "";
}
}
@@ -0,0 +1,7 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" { viewpoint OperationalActivity; steps [@holder]; }
oa_occurrence holder "Fragment owner" id "00000000-0000-4000-8000-000000000004" { parent @owner; body { Fragment { operator Alternative; branches [@subject]; }; }; }
// Authored omissions must stay omitted through no-op and a name edit.
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @holder; body { Branch { occurrences []; }; }; }
}
@@ -0,0 +1,7 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" { viewpoint OperationalActivity; steps [@holder]; }
oa_occurrence holder "Fragment owner" id "00000000-0000-4000-8000-000000000004" { parent @owner; body { Fragment { operator Alternative; branches [@subject]; }; }; }
// Authored omissions must stay omitted through no-op and a name edit.
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @holder; body { Branch { guard ""; }; }; }
}
@@ -0,0 +1,7 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
// Authored omissions must stay omitted through no-op and a name edit.
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Control { kind Choice; }; }; }
}
@@ -0,0 +1,23 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
description "";
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
description "";
parent none;
steps [@subject];
}
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
body {
Control {
kind Choice;
};
};
description "";
parent @owner;
postcondition "";
precondition "";
}
}
@@ -0,0 +1,7 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
// Authored omissions must stay omitted through no-op and a name edit.
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Control { }; }; }
}
@@ -0,0 +1,7 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
// Authored omissions must stay omitted through no-op and a name edit.
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Exchange { exchange none; sender none; receiver none; message_kind Asynchronous; reply_to none; values []; operation none; }; }; }
}
@@ -0,0 +1,28 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
description "";
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
description "";
parent none;
steps [@subject];
}
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
body {
Exchange {
exchange none;
message_kind Asynchronous;
receiver none;
reply_to none;
sender none;
values [];
};
};
description "";
parent @owner;
postcondition "";
precondition "";
}
}
@@ -0,0 +1,7 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
// Authored omissions must stay omitted through no-op and a name edit.
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Exchange { }; }; }
}
@@ -0,0 +1,28 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
description "";
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
description "";
parent none;
steps [@subject];
}
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
body {
Exchange {
exchange none;
message_kind Asynchronous;
receiver none;
reply_to none;
sender none;
values [];
};
};
description "";
parent @owner;
postcondition "";
precondition "";
}
}
@@ -0,0 +1,7 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
// Authored omissions must stay omitted through no-op and a name edit.
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Exchange { sender none; receiver none; message_kind Asynchronous; reply_to none; values []; operation none; }; }; }
}
@@ -0,0 +1,28 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
description "";
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
description "";
parent none;
steps [@subject];
}
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
body {
Exchange {
exchange none;
message_kind Asynchronous;
receiver none;
reply_to none;
sender none;
values [];
};
};
description "";
parent @owner;
postcondition "";
precondition "";
}
}
@@ -0,0 +1,7 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
// Authored omissions must stay omitted through no-op and a name edit.
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Exchange { exchange none; sender none; receiver none; reply_to none; values []; operation none; }; }; }
}
@@ -0,0 +1,28 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
description "";
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
description "";
parent none;
steps [@subject];
}
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
body {
Exchange {
exchange none;
message_kind Asynchronous;
receiver none;
reply_to none;
sender none;
values [];
};
};
description "";
parent @owner;
postcondition "";
precondition "";
}
}
@@ -0,0 +1,7 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
// Authored omissions must stay omitted through no-op and a name edit.
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Exchange { exchange none; sender none; receiver none; message_kind Asynchronous; reply_to none; values []; }; }; }
}
@@ -0,0 +1,28 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
description "";
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
description "";
parent none;
steps [@subject];
}
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
body {
Exchange {
exchange none;
message_kind Asynchronous;
receiver none;
reply_to none;
sender none;
values [];
};
};
description "";
parent @owner;
postcondition "";
precondition "";
}
}
@@ -0,0 +1,7 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
// Authored omissions must stay omitted through no-op and a name edit.
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Exchange { exchange none; sender none; message_kind Asynchronous; reply_to none; values []; operation none; }; }; }
}
@@ -0,0 +1,28 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
description "";
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
description "";
parent none;
steps [@subject];
}
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
body {
Exchange {
exchange none;
message_kind Asynchronous;
receiver none;
reply_to none;
sender none;
values [];
};
};
description "";
parent @owner;
postcondition "";
precondition "";
}
}
@@ -0,0 +1,7 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
// Authored omissions must stay omitted through no-op and a name edit.
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Exchange { exchange none; sender none; receiver none; message_kind Asynchronous; values []; operation none; }; }; }
}
@@ -0,0 +1,28 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
description "";
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
description "";
parent none;
steps [@subject];
}
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
body {
Exchange {
exchange none;
message_kind Asynchronous;
receiver none;
reply_to none;
sender none;
values [];
};
};
description "";
parent @owner;
postcondition "";
precondition "";
}
}
@@ -0,0 +1,7 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
// Authored omissions must stay omitted through no-op and a name edit.
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Exchange { exchange none; receiver none; message_kind Asynchronous; reply_to none; values []; operation none; }; }; }
}
@@ -0,0 +1,28 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
description "";
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
description "";
parent none;
steps [@subject];
}
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
body {
Exchange {
exchange none;
message_kind Asynchronous;
receiver none;
reply_to none;
sender none;
values [];
};
};
description "";
parent @owner;
postcondition "";
precondition "";
}
}
@@ -0,0 +1,7 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
// Authored omissions must stay omitted through no-op and a name edit.
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Exchange { exchange none; sender none; receiver none; message_kind Asynchronous; reply_to none; operation none; }; }; }
}
@@ -0,0 +1,28 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
description "";
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
description "";
parent none;
steps [@subject];
}
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
body {
Exchange {
exchange none;
message_kind Asynchronous;
receiver none;
reply_to none;
sender none;
values [];
};
};
description "";
parent @owner;
postcondition "";
precondition "";
}
}
@@ -0,0 +1,7 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" { viewpoint OperationalActivity; steps [@subject]; }
// Authored omissions must stay omitted through no-op and a name edit.
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Fragment { operator Alternative; branches []; }; }; }
}
@@ -0,0 +1,28 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
description "";
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" {
context none;
description "";
parent none;
postcondition "";
precondition "";
steps [@subject];
viewpoint OperationalActivity;
}
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
body {
Fragment {
branches [];
operator Alternative;
};
};
description "";
parent @owner;
postcondition "";
precondition "";
}
}
@@ -0,0 +1,7 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" { viewpoint OperationalActivity; steps [@subject]; }
// Authored omissions must stay omitted through no-op and a name edit.
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Fragment { operator Alternative; }; }; }
}
@@ -0,0 +1,7 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" { viewpoint OperationalActivity; steps [@subject]; }
// Authored omissions must stay omitted through no-op and a name edit.
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { Fragment { branches []; }; }; }
}
@@ -0,0 +1,7 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" { viewpoint OperationalActivity; steps [@subject]; }
// Authored omissions must stay omitted through no-op and a name edit.
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { ScenarioUse { scenario none; bindings []; }; }; }
}
@@ -0,0 +1,28 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
description "";
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" {
context none;
description "";
parent none;
postcondition "";
precondition "";
steps [@subject];
viewpoint OperationalActivity;
}
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
body {
ScenarioUse {
bindings [];
scenario none;
};
};
description "";
parent @owner;
postcondition "";
precondition "";
}
}
@@ -0,0 +1,7 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" { viewpoint OperationalActivity; steps [@subject]; }
// Authored omissions must stay omitted through no-op and a name edit.
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { ScenarioUse { bindings []; }; }; }
}
@@ -0,0 +1,28 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
description "";
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" {
context none;
description "";
parent none;
postcondition "";
precondition "";
steps [@subject];
viewpoint OperationalActivity;
}
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
body {
ScenarioUse {
bindings [];
scenario none;
};
};
description "";
parent @owner;
postcondition "";
precondition "";
}
}
@@ -0,0 +1,7 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" { viewpoint OperationalActivity; steps [@subject]; }
// Authored omissions must stay omitted through no-op and a name edit.
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { ScenarioUse { scenario none; }; }; }
}
@@ -0,0 +1,7 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" { viewpoint OperationalActivity; steps [@subject]; }
// Authored omissions must stay omitted through no-op and a name edit.
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { ScenarioUse { bindings []; }; }; }
}
@@ -0,0 +1,28 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
description "";
oa_scenario owner "Owner" id "00000000-0000-4000-8000-000000000002" {
context none;
description "";
parent none;
postcondition "";
precondition "";
steps [@subject];
viewpoint OperationalActivity;
}
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
body {
ScenarioUse {
bindings [];
scenario none;
};
};
description "";
parent @owner;
postcondition "";
precondition "";
}
}
@@ -0,0 +1,7 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
// Authored omissions must stay omitted through no-op and a name edit.
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { SequenceReference { sequence none; }; }; }
}
@@ -0,0 +1,23 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
description "";
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
description "";
parent none;
steps [@subject];
}
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
body {
SequenceReference {
sequence none;
};
};
description "";
parent @owner;
postcondition "";
precondition "";
}
}
@@ -0,0 +1,7 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
// Authored omissions must stay omitted through no-op and a name edit.
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { SequenceReference { }; }; }
}
@@ -0,0 +1,23 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
description "";
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" {
description "";
parent none;
steps [@subject];
}
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" {
body {
SequenceReference {
sequence none;
};
};
description "";
parent @owner;
postcondition "";
precondition "";
}
}
@@ -0,0 +1,7 @@
arcadia 7;
project defaults "Constructor defaults" id "00000000-0000-4000-8000-000000000001" {
oa_process owner "Owner" id "00000000-0000-4000-8000-000000000002" { steps [@subject]; }
// Authored omissions must stay omitted through no-op and a name edit.
oa_occurrence subject "Subject" id "00000000-0000-4000-8000-000000000003" { parent @owner; body { SequenceReference { }; }; }
}

Some files were not shown because too many files have changed in this diff Show More