# Findings log: defects in the received CGT file (`cgt_assets_v2.le`, SHA 05e95d18…c528)

Status marks: **[run]** measured on the reasoner · **[statute]** read from legislation text retrieved via Tax Genii (URLs in `statute_notes.md`) · **[claim]** not yet checked.

The received file classifies assets ("is a CGT asset", "is a CGT exempt asset") from the ATO's web list of assets and exemptions. The Act does not work that way: Division 118 disregards *capital gains and capital losses from CGT events*, it does not exempt *assets*, and several of the received "exemptions" carry conditions the file omitted. The new file (`cgt_a1.le`) therefore models the event, the proceeds, the cost base, the gain or loss, and the method statement, and states each exemption as a condition on the gain or loss. The map below records, rule by rule, what the received file said, what the Act says, and which scenario in `cgt_a1.le` proves the fix.

## A. Rule-by-rule map of the received file (brief §3)

| # | Received rule head (abridged) | Provision | Correct? | Note and proving scenario |
|---|---|---|---|---|
| 1 | a thing is a CGT asset if property, or a legal/equitable right that is not property | s 108-5(1) **[statute]** | partly | Definition right, but the "legal right … and not property" branch creates a negation cycle with the `is a property` disjunction (verifier: non-stratified). The new file takes "the disposal is a disposal of an asset" as given: whether something is a CGT asset is a question of property law the file does not decide (open question Q1). |
| 2 | a thing is a property if real estate / shares / personal use / collectable / intangible / foreign currency / depreciating / award-or-payout | ATO web list, not the Act | no | s 108-5 Note 1 gives examples only. The list is neither exhaustive nor statutory. Not reproduced. |
| 3 | real estate list; share/unit list; intangible list; depreciating list | ATO web list | — | Descriptive only; not reproduced. |
| 4 | main residence used purely for personal use is exempt | Subdiv 118-B | partly | The real test is Subdiv 118-B (dwelling, ownership period, use, adjacent land, partial exemption). **Refused** in the new file: s29. |
| 5 | granny flat arrangement created/varied/terminated is exempt | Subdiv 137-? (granny flat interests, s 137-10) **[claim]** | not checked | Not retrieved this session; the received rule never fires because its arrangement facts are unconsumed [run]. Out of scope; listed in open questions. |
| 6 | cryptocurrency used to buy items for personal consumption is exempt | s 118-10(3), s 108-20, TD 2014/26 **[statute]** | no | Bitcoin is a CGT asset (TD 2014/26). A gain is disregarded only if it is a personal use asset **and** the first element of its cost base is $10,000 or less. The received rule has no cost test: a $50,000 bitcoin purchase spent on personal items would be "exempt". Fixed: the PUA rules in Part G; proved by s11 (boat two, first element 10001, gain 5000). |
| 7 | personal use asset exempt if `amount < 10000` | s 118-10(3) **[statute]** | no | The Act says "$10,000 or less": at exactly $10,000 the gain is disregarded. Received file used `<`. Fixed: `E1 =< 10000`, s11 (boat one at 10000: disregarded). Also the received rule exempts *the asset*, so a loss would be "exempt" too; the Act disregards PUA losses always (s 108-20(1)): s11 boat three. |
| 8 | collectable list: artwork, jewellery, antique, rare coin, rare medallion, rare stamp, rare folio, manuscript, book | s 108-10(2) **[statute]** | partly | Act: "a coin or medallion" and "a postage stamp or first day cover" have no rarity test; "rare" attaches only to "folio, manuscript or book" (the received file dropped "rare" from manuscript and book and added it to coins, medallions and stamps). Also missing: the "used or kept mainly for personal use or enjoyment" limb, the $500 first-element exemption (s 118-10(1)), and the loss quarantine (s 108-10(1)) which the received file mentions only in a comment. New file: collectable status is an input fact; s 118-10(1) in s12, s58; quarantine in s8, s27, s53. |
| 9 | depreciating asset used solely for taxable income purposes is exempt | s 118-24 **[statute]** | partly | Right in spirit; the Act's test is that the decline in value was worked out under Div 40/328 (or would have been); non-taxable use goes to event K7, not to an "exempt/not exempt" switch. New file: s20. |
| 10 | motor vehicle / motor cycle exempt if used purely for personal use | s 118-5(a) **[statute]** | no | The Act disregards a gain or loss from a car, motor cycle or similar vehicle **without any personal-use condition**. A business car is covered too. Fixed: s19 (car one, no use condition). |
| 11 | award exempt if for valour and not bought or exchanged | s 118-5(b) **[statute]** | yes | Act: "unless you paid money or gave any other property for it". Matches. s19 (medal one / medal two). |
| 12 | gambling winnings exempt if from a game or competition | s 118-37(1)(c) **[statute]** | yes | Act: "gambling, a game or a competition with prizes". s21 d3. |
| 13 | compensation/damages exempt if for injury at work / anywhere / under UTAS / ADRAS / M4-M5 / government scheme | s 118-37(1)(a), (2)(a),(d),(e) **[statute]** | partly | (1)(a)(i) occupational wrong or injury and (a)(ii) personal wrong, injury or illness of you or a relative: right. But the UTAS, ADRAS, M4/M5 and government-scheme items are in s 118-37(2), which covers a **reimbursement or payment of your expenses** (or a voucher), not "compensation or damages"; the received file put them under the compensation limb. Also "a scheme established under legislation by a local government body" and "by a foreign government agency" were split into a second rule; the Act has them all in (2)(a) ("Australian government agency, a local governing body or a foreign government agency"). Fixed: s21 d4, d5. |
| 14 | interest in a small super fund (< 5 members) transferred on relationship breakdown is exempt | s 126-140? (super interests on marriage breakdown) **[claim]** | not checked | Not retrieved; relationship-breakdown roll-overs are **refused** (s31 covers roll-overs generally). The received rule's fund-members fact is commented out, so it never fires [run]. |
| 15 | rights created or ended in a superannuation agreement are exempt | s 118-305? **[claim]** | not checked | Not retrieved. Out of scope. |
| 16 | payout under a general or life policy or annuity exempt if from maturity | s 118-300 **[statute via EM/PR 2018/11]** | partly | The Act's test is about **who** holds the interest (original owner; acquired for no consideration; insurer; complying super entity), not "maturity". General insurance (item 2) is exempt for the insured only where a gain or loss on the insured property would itself be disregarded. New file: items 3 and 4 only (s22 d2, d3); the rest refused by omission (open question Q6). |
| 17 | payment for surrender of a policy exempt if original beneficial owner | s 118-300 item 3 **[statute via EM]** | partly | Right idea, but the received rule's template "*an asset* of *a taxpayer* is a CGT exempt asset" is reached by no query (verifier: untested_predicate) and its body never binds the policy variable (undefined predicates `is_for_surrender_of/2`, `is_the_original_beneficial_owner_of/2`) [run]. The 2015 amendments also changed "original beneficial owner" to "original owner". |
| 18 | share in a pooled development fund / venture capital entity / ESVCLP exempt | s 118-13, Subdiv 118-F **[claim]** | not checked | Not retrieved this session. Not modelled (open question Q7). |
| 19 | gift through a will to a DGR is exempt | s 118-60(1) **[statute]** | yes | Act: a testamentary gift of property that would have been deductible under s 30-15. s22 d1. The received rule's body drops the article ("and asset was gifted …"); the probe shows the rule still fired for `asset nft_gift` [run], but the wording is fragile and should read "and the asset was gifted …". |
| 20 | asset exempt if held by a person resident on Norfolk Island at a date before 24 Oct 2015 | IT(TP)A 1997 s 102-25 **[statute via EM]** | no | The Act's test is that the **asset was acquired** before 24 Oct 2015 by a Norfolk Island resident (treated as pre-CGT), and not if the resident could not have disregarded the gain under the pre-July-2016 law (e.g. a mainland asset). The received rule tests only residence at *some* date before 24 Oct 2015: a resident in 2000 who bought a Sydney flat in 2020 would be "exempt". Fixed: s18 (asset two acquired 24 Oct 2015: assessed). |
| 21 | asset exempt if acquired on or before 19 Sept 1985 | s 104-10(5)(a) **[statute]** | yes | Act: "acquired before 20 September 1985". Equivalent. s17. |
| 22 | query "pre-date CGT asset" | — | no | No rule defines it; the query always returns [] [run]. The new file reports the reason "paragraph 104-10(5)(a) asset acquired before 20 September 1985". |

## B. Structural defects in the received file [run]

1. All rules sit under `the ontology is:` instead of `the knowledge base … includes:`; 11 `suspicious_is_a` warnings result from type names read as constants.
2. Non-stratified negation (rule 1 above); the verifier warns of unsound answers.
3. 16 unused templates, 2 undefined predicates, 1 untested predicate, 15 unconsumed scenario facts (Phase 1 report, `phase1_report.md`).
4. Duplicate answers: `asset bitcoin is a CGT asset` three times; the Farmer scenario returns 13 rows for 3 assets.
5. No tests (`expects answers`) at all, so nothing in the file was ever checked against an expected answer.
6. Scenario facts use unnamed individuals ("arose from the maturity of a policy", "the arrangement is a granny flat arrangement") which the verifier reports as never read.

## C. Defects found in my own drafts while building `cgt_a1.le` [run]

These are recorded because they are the kind of thing a reviewer of any LE tax file should look for.

1. **`is` inside an embedded Prolog goal is dropped** (LE treats `is` as an ignorable word): `the year is Y1 + 1` compiled to a bare `_ + 1` goal and raised `existence_error (+)/2` for every contract date in July–December. Fixed with `plus(Y1, 1, Y2), the year = Y2`. (v6)
2. **A template without a slot for the thing later referred to** (`*a taxpayer* has a disposal in the income year *a year*`) made `the disposal` a constant in three year-level rules, which then never fired. Fixed by `*a taxpayer* has *a disposal* in …`. (v7)
3. **Reason constants must not contain `a <noun>`, `the <noun>` or `that`**: "the taxpayer is a company" parsed `a company` as a variable; "one of the disposals of the year" parsed `the year` as a back-reference to the head variable; `A1` (capitals) was read as a variable name. (v5–v6)
4. **Arithmetic with three operands** (`L > GN + GD`, `E1 + E2 + E3 + …`) is best written in binary steps with ids; it also makes the explanation readable. (v5)
5. **Negation cycle**: a "disregarded because 118-10(3)" rule that read the raw gain, which itself excluded disregarded disposals, made the program non-stratified. Fixed by testing proceeds > cost base directly in the disregard rule. (v3)
6. **Performance**: without `; memorable` on the intermediate templates, a three-disposal scenario's net-capital-gain query exceeds the 30 s cap (measured: 4 of 18 subset tests timed out, `out/nomemo_timing.txt`); with it the slowest of 152 tests takes 59 ms. This is the opposite of the Division 36 finding in the brief, because here the year-level rules re-derive every disposal's gain through several aggregates. Recorded in the run log with the commands.
7. **Nil proceeds**: my first draft would have returned a capital loss equal to the reduced cost base for a gift with no proceeds; s 116-30(1) substitutes market value. Fixed; s55, s56.
8. **Non-individuals with a foreign-residency marker** were silently given 50%; s 115-120 (trustees) is not encoded, so these are now refused. s57.

## D. Divergences from the received file's answers (worked examples re-derived)

| Received scenario | Received answer [run] | Statute answer [statute] | New file |
|---|---|---|---|
| Crypto: bitcoin used for personal consumption, no cost given | exempt | Disregarded only if first element ≤ $10,000 (s 118-10(3)); with no cost base stated the answer cannot be determined | "cannot be assessed because the first element cost of the asset is missing" (s45) |
| Loan: boat cost 9500, personal use | not exempt (asset not typed "boat") | gain disregarded (≤ $10,000); loss disregarded (s 108-20(1)) | s11 pattern |
| Loan: stamps acquired 1980 | exempt | disregarded, s 104-10(5)(a) | s17 |
| Insurance: medal for valour, cost not stated | not exempt (not typed "award") | disregarded unless paid for (s 118-5(b)) | s19 |
| Farmer: tractor (depreciating, business) | not exempt (missing "used solely" fact) | disregarded if decline in value under Div 40 (s 118-24) | s20 |
| Colin: resident of Norfolk Island at 2000-01-01, asset one acquisition date unknown | exempt | cannot be determined: acquisition date and pre-2016 status needed | s18 pattern; missing-input rule |
