bridges(tropical): citation-level correspondence appendix (EchoTropical ↔ tropical-resource-typing)#65
Merged
Conversation
…pical ↔ tropical-resource-typing Adds `docs/echo-types/tropical-correspondence.md` as a new sibling under `docs/echo-types/`. Closes the "Adjacent repo not recently audited" blocker on the Tropical row of `cross-repo-bridge-status.md` (handled in PR #64): the adjacent repo (`hyperpolymath/tropical-resource-typing`, locally at `repos-monorepo/verification-ecosystem/tropical-resource-typing`) has been audited and the first alignable theorem pair recorded. Headlines of the appendix: * First alignable theorem pair: Agda `⊕-idem` (line 30 of `proofs/agda/EchoTropical.agda`) ↔ Isabelle `trop_add_idem` (line 73 of `Tropical.thy`). Both are proved and clean (Agda under `--safe --without-K`, Isabelle as a `simp` lemma). * Lean correction vs research-phase pairing: `add_comm_trop` is NOT the idempotence theorem — Lean has no named idempotence theorem on `tAdd`. The Lean docstring explicitly flags this and offers `tropical_grade_le_sequentialTotal` as the downstream consumer (`max a b ≤ a + b` is the dioid consequence of `add_idem`). * Carrier divergence (Agda `ℕ` vs Isabelle/Lean lifted carrier with `−∞` bottom) recorded as intentional, not a defect. * Bridge headlines (`tropical-non-injective`, `echo0-to-tropical`, `distinct-candidates-same-visible-distinct-echo`) marked unilateral Agda-only — no `Echo`/`Candidate` type on the adjacent side. * Adjacent-side `trop_mul`/`tMul`, distributivity, semiring instance marked unilateral adjacent-side — Agda bridge needs only additive (max) dioid structure. Alignment is citation-level only — no FFI surface between Agda and Isabelle/Lean, no shared definition module, no cross-prover extraction pipeline. Each side carries its own independent proof. Long-game target `Tropical_Ordinal_Bridge.thy` ↔ echo-types ordinal track is firewalled behind the Bachmann–Howard milestone per `roadmap.md`. No `.agda` files touched (Lane 3 owns the `⊕-idem` Smoke pin); no edit to `cross-repo-bridge-status.md` (sibling PR #64 owns that update). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
🔍 Hypatia Security ScanFindings: 10 issues detected
View findings[
{
"reason": "No test directory or test files found",
"type": "no_tests",
"file": "/home/runner/work/echo-types/echo-types",
"action": "flag",
"rule_module": "honest_completion",
"severity": "high",
"deduction": 20
},
{
"reason": "Issue in quality.yml",
"type": "missing_workflow",
"file": "quality.yml",
"action": "create",
"rule_module": "workflow_audit",
"severity": "high"
},
{
"reason": "Issue in security-policy.yml",
"type": "missing_workflow",
"file": "security-policy.yml",
"action": "create",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in secret-scanner.yml",
"type": "missing_workflow",
"file": "secret-scanner.yml",
"action": "create",
"rule_module": "workflow_audit",
"severity": "high"
},
{
"reason": "Action actions/cache@v4 needs attention",
"type": "unpinned_action",
"file": "agda.yml",
"action": "pin_sha",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Action hyperpolymath/standards/.github/workflows/governance-reusable.yml@main needs attention",
"type": "unpinned_action",
"file": "governance.yml",
"action": "pin_sha",
"rule_module": "workflow_audit",
"severity": "high"
},
{
"reason": "No dependabot.yml or renovate.json found in echo-types",
"type": "DependencyUpdate",
"file": "/home/runner/work/echo-types/echo-types",
"action": "auto_fix",
"rule_module": "scorecard",
"severity": "high",
"remediation": "Add .github/dependabot.yml or renovate.json configuration.",
"scorecard_check": "Dependency-Update-Tool"
},
{
"reason": "Nominal-only SAST in echo-types: codeql.yml language matrix contains no language present in the repo and lacks `actions`, so CodeQL records zero results on every commit. Remediation: set the CodeQL matrix to `language: actions`.",
"type": "StaticAnalysis",
"file": "/home/runner/work/echo-types/echo-types",
"action": "auto_fix",
"rule_module": "scorecard",
"severity": "medium",
"remediation": "Add CodeQL or equivalent SAST workflow.",
"scorecard_check": "SAST"
},
{
"reason": "1 workflow(s) with tag-pinned (not SHA-pinned) actions in echo-types",
"type": "DependencyPinning",
"file": "/home/runner/work/echo-types/echo-types",
"action": "auto_fix",
"rule_module": "scorecard",
"severity": "medium",
"remediation": "Pin GitHub Actions and Docker base images by SHA hash.",
"scorecard_check": "Pinned-Dependencies"
},
{
"reason": "Repository has 1 non-main remote branch(es). Policy: single main branch only.",
"type": "GS007",
"file": ".",
"action": "delete_remote_branches",
"rule_module": "git_state",
"severity": "medium"
}
]Powered by Hypatia Neurosymbolic CI/CD Intelligence |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
docs/echo-types/tropical-correspondence.mdrecording the first citation-level cross-prover correspondence betweenproofs/agda/EchoTropical.agda(this repo) and the adjacenthyperpolymath/tropical-resource-typingrepo (IsabelleTropical.thy+ Lean4TropicalSessionTypes.lean).cross-repo-bridge-status.md(already noted as a follow-up by sibling PR docs(bridges): refresh cross-repo bridge status; bake in CNO Agda↔Coq↔Lean4 correspondence #64).⊕-idem↔ Isabelletrop_add_idem. Both proved clean (Agda--safe --without-K, Isabellesimplemma).tAdd; the closest analog istropical_grade_le_sequentialTotalas the downstream dioid consumer ofadd_idem. The Lean cell is therefore—for the bare law, with the consumer theorem noted.ℕvs Isabelle/Lean lifted carrier with−∞bottom) recorded as intentional. Adjacent-side multiplicative structure marked unilateral adjacent-side; echo-sideEcho/Candidate/bridge headlines marked unilateral Agda-side.Tropical_Ordinal_Bridge.thy↔ echo-types ordinal track firewalled behind Bachmann–Howard perroadmap.md.Coordination
docs/cross-repo-bridge-status-sweep-2026-05-20) ownscross-repo-bridge-status.md; this PR does NOT touch that file.⊕-idemSmoke pin; this PR does NOT touchproofs/agda/Smoke.agdaor any.agdafile.docs/echo-types/tropical-correspondence.md.Test plan
.agdafiles touched, so no Agda build is required; sanity check thatEchoTropical.agdastill parses underLC_ALL=C.UTF-8 agda --safe --without-K -i proofs/agda proofs/agda/EchoTropical.agda(it should, since this PR makes no Agda edits).🤖 Generated with Claude Code