Skip to content

proof(SafeTOML): DISCHARGE isScalarCorrect via 10-arm case-split (proven#90, #107) - #113

Merged
hyperpolymath merged 1 commit into
mainfrom
proof/safetoml-isscalar-correct
May 30, 2026
Merged

proof(SafeTOML): DISCHARGE isScalarCorrect via 10-arm case-split (proven#90, #107)#113
hyperpolymath merged 1 commit into
mainfrom
proof/safetoml-isscalar-correct

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Mirror of #112 SafeYAML — same case-split shape for TOMLValue's 10 constructors.

```idris
public export
isScalarCorrect : (val : TOMLValue) -> isScalar val = True -> not (isTable val || isArray val) = True
isScalarCorrect (TString _) _ = Refl
isScalarCorrect (TInt _) _ = Refl
isScalarCorrect (TFloat _) _ = Refl
isScalarCorrect (TBool _) _ = Refl
isScalarCorrect (TDateTime _) _ = Refl
isScalarCorrect (TDate _) _ = Refl
isScalarCorrect (TTime _) _ = Refl
isScalarCorrect (TArray _) Refl impossible
isScalarCorrect (TInlineTable _) Refl impossible
isScalarCorrect (TTable _) Refl impossible
```

7 scalar arms close by Refl (not (False || False) = True).
3 container arms have premise False = True (uninhabited).

Refs #90 #107

7 scalar arms (TString, TInt, TFloat, TBool, TDateTime, TDate, TTime)
close by Refl — goal `not (isTable val || isArray val) = True` reduces
to `not (False || False) = True`.

3 container arms (TArray, TInlineTable, TTable) — premise
`isScalar val = True` reduces to `False = True`, uninhabited
(`Refl impossible`).

Mirror of the SafeYAML #112 discharge. The OWED comment correctly
identified the 10-arm case-split shape — just hadn't been executed.

Refs #90 #107

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@hyperpolymath
hyperpolymath enabled auto-merge (squash) May 30, 2026 16:45
@sonarqubecloud

Copy link
Copy Markdown

@hyperpolymath
hyperpolymath merged commit d47824a into main May 30, 2026
11 of 24 checks passed
@hyperpolymath
hyperpolymath deleted the proof/safetoml-isscalar-correct branch May 30, 2026 16:47
@github-actions

Copy link
Copy Markdown

🔍 Hypatia Security Scan

Findings: 332 issues detected

Severity Count
🔴 Critical 130
🟠 High 31
🟡 Medium 171

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "reason": "Action perpolymath/standards/.github/workflows/governance-reusable.yml@main\n needs attention",
    "type": "unpinned_action",
    "file": "governance.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in architecture-enforcement.yml",
    "type": "missing_timeout_minutes",
    "file": "architecture-enforcement.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in architecture-enforcement.yml",
    "type": "missing_timeout_minutes",
    "file": "architecture-enforcement.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in boj-build.yml",
    "type": "missing_timeout_minutes",
    "file": "boj-build.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in casket-pages.yml",
    "type": "missing_timeout_minutes",
    "file": "casket-pages.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in casket-pages.yml",
    "type": "missing_timeout_minutes",
    "file": "casket-pages.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in cflite_batch.yml",
    "type": "missing_timeout_minutes",
    "file": "cflite_batch.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in cflite_pr.yml",
    "type": "missing_timeout_minutes",
    "file": "cflite_pr.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in codeql.yml",
    "type": "missing_timeout_minutes",
    "file": "codeql.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in dogfood-gate.yml",
    "type": "missing_timeout_minutes",
    "file": "dogfood-gate.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant