SNAPKITTYWEST commited on
Commit
22d7282
·
verified ·
1 Parent(s): d8df231

Model card: restore full README from GitHub, add commercial license option

Browse files
Files changed (1) hide show
  1. README.md +115 -0
README.md CHANGED
@@ -16,3 +16,118 @@ tags:
16
 
17
  > Mirrored from [https://github.com/SNAPKITTYWEST/unlambda-idris-spark](https://github.com/SNAPKITTYWEST/unlambda-idris-spark) at commit `a42eccc`. Part of the **SnapKitty October 2026 main drop**.
18
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
 
17
  > Mirrored from [https://github.com/SNAPKITTYWEST/unlambda-idris-spark](https://github.com/SNAPKITTYWEST/unlambda-idris-spark) at commit `a42eccc`. Part of the **SnapKitty October 2026 main drop**.
18
 
19
+ <!--
20
+ Copyright (c) 2026 Ahmad Ali Parr. All rights reserved.
21
+ SPDX-License-Identifier: LicenseRef-Proprietary
22
+ Public source visibility does not grant an open-source license. See LICENSE.
23
+ -->
24
+
25
+ # Unlambda + ATS + Idris 2 + SPARK
26
+
27
+ **Handwritten lambda-calculus derivations, checked proof terms, and explicit verification boundaries.**
28
+
29
+ [![Idris CI](https://github.com/AHMADALIPARR/unlambda-idris-spark/actions/workflows/idris-proofs.yml/badge.svg?branch=main)](https://github.com/AHMADALIPARR/unlambda-idris-spark/actions/workflows/idris-proofs.yml)
30
+ [![ATS and SPARK CI](https://github.com/AHMADALIPARR/unlambda-idris-spark/actions/workflows/ats-spark.yml/badge.svg?branch=main)](https://github.com/AHMADALIPARR/unlambda-idris-spark/actions/workflows/ats-spark.yml)
31
+ [![Version](https://img.shields.io/badge/release-v1.0.0-2563eb)](https://github.com/AHMADALIPARR/unlambda-idris-spark/releases/tag/v1.0.0)
32
+ [![Counter proof](https://img.shields.io/badge/SPARK_counter_snapshot-6%2F6_proved-15803d)](docs/verification/ats-spark-af40c4e.md)
33
+ [![Security](https://img.shields.io/badge/security-report_privately-475569)](SECURITY.md)
34
+ [![Commercial licensing](https://img.shields.io/badge/commercial-licensing_inquiries-7c3aed)](COMMERCIAL-LICENSING.md)
35
+ [![License: proprietary](https://img.shields.io/badge/license-proprietary_source_visible-334155)](LICENSE)
36
+ [![Donate](https://img.shields.io/badge/donate-details_pending-d97706)](SUPPORT.md)
37
+
38
+ ![Conceptual proof workbench with a lambda-calculus notebook and translucent geometric objects](docs/assets/proof-workbench.png)
39
+
40
+ v1.0.0 packages a verification scaffold for a combined Unlambda/ATS/Idris/SPARK
41
+ architecture. It includes compiler-checked ATS interfaces, handwritten SKI
42
+ derivations formalized in Idris 2, and a SPARK-proved bounded allocation counter.
43
+ The full ATS interpreter, generational heap, and cross-language correspondence
44
+ are future work. This release makes the existing evidence easy to reproduce.
45
+
46
+ ## What is checked
47
+
48
+ | Layer | Current result | Boundary |
49
+ | --- | --- | --- |
50
+ | ATS/Postiats 0.4.2 | Both `.sats` interfaces typecheck | Runtime implementations and adapter are pending |
51
+ | Idris 2 0.8.0 | SKI proof terms and fuel model typecheck | SKI witnesses cover symbolic free atoms; control model is a stub |
52
+ | GNAT/Ada | Heap compiles and passes capacity/exhaustion/reset tests | Heap counts allocations; it does not yet store nodes |
53
+ | SPARK/GNATprove | Six checks discharged, zero unproved | Current allocation-counter contracts only |
54
+ | Combined CI | `verify.sh` passes with all toolchains | Full runtime certification remains open |
55
+
56
+ The counter badge links a recorded source snapshot. CI badges show the current
57
+ branch. [Verification evidence](docs/verification/ats-spark-af40c4e.md) records
58
+ the source hashes, versions, proof results, and limitations.
59
+
60
+ ## How the workflow fits together
61
+
62
+ ```mermaid
63
+ flowchart TD
64
+ Spec["Unlambda semantics and invariants"] --> Hand["Handwritten SKI beta derivations"]
65
+ Hand --> Idris["Idris proof terms and control model"]
66
+ Spec --> ATS["Typed ATS interfaces"]
67
+ Spec --> Ada["Ada allocation-counter contracts"]
68
+ Idris --> IC["Idris typecheck, build, smoke test"]
69
+ ATS --> AC["ATS interface typecheck"]
70
+ Ada --> SC["Ada tests and SPARK proof checks"]
71
+ IC --> Evidence["Source-pinned verification evidence"]
72
+ AC --> Evidence
73
+ SC --> Evidence
74
+ Evidence --> Combined["Combined verify.sh validation"]
75
+ Combined --> Release["v1 verification-scaffold release"]
76
+ Evidence -. "future work" .-> Runtime["ATS runtime, slot-map heap, correspondence"]
77
+ ```
78
+
79
+ SPARK verifies the Ada contracts; Idris checks its own proof terms. Agreement
80
+ between an ATS runtime, Ada implementation, and Idris semantics will require a
81
+ checked adapter and a separate simulation/correspondence argument. See the
82
+ [full workflow](docs/WORKFLOW.md) and [delivery backlog](docs/DELIVERY.md).
83
+
84
+ ## Reproduce the checks
85
+
86
+ Use Linux x86-64 with Bash, GNU grep, ATS/Postiats, Idris 2, GNAT, GPRbuild, and
87
+ GNATprove installed. [Toolchain versions and setup](docs/WORKFLOW.md#toolchain-setup)
88
+ match the CI configuration.
89
+
90
+ ```sh
91
+ gh repo clone AHMADALIPARR/unlambda-idris-spark
92
+ cd unlambda-idris-spark
93
+ bash verify.sh
94
+ ```
95
+
96
+ The repository is public and source-visible; it is proprietary, not open source. A passing run checks the
97
+ ATS declarations, typechecks and compiles the Idris model, runs the Ada tests,
98
+ and requires GNATprove to discharge the heap checks. The success message names
99
+ that component scope explicitly.
100
+
101
+ ## Repository map
102
+
103
+ | Path | Purpose |
104
+ | --- | --- |
105
+ | `ats/` | Typed heap and machine interfaces |
106
+ | `idris/LambdaProofs.idr` | Explicit beta-reduction witnesses and substitution cases |
107
+ | `idris/Main.idr` | Fuel/control model and resource-status proof terms |
108
+ | `ada/` | Bounded allocation counter, contracts, assertion-enabled test driver |
109
+ | `spec/` | Semantics, invariants, handwritten derivations |
110
+ | `docs/verification/` | Recorded compiler and prover evidence |
111
+ | `docs/source-sketches/` | Original supplied shorthand interfaces |
112
+ | `.github/workflows/` | Idris and ATS/SPARK/combined validation jobs |
113
+
114
+ ## Contribute, report, and support
115
+
116
+ - [Contributing](CONTRIBUTING.md): meaningful changes, proof obligations, and review criteria.
117
+ - [Security](SECURITY.md): private reporting and supported scope.
118
+ - [Licensing](LICENSING.md): current licensing status and provenance boundaries.
119
+ - [Commercial licensing](COMMERCIAL-LICENSING.md): inquiries and required agreement details.
120
+ - [Support and donations](SUPPORT.md): ways to help; payment destination is awaiting confirmation.
121
+ - [v1.0.0 release notes](docs/releases/v1.0.0.md) and [changelog](CHANGELOG.md).
122
+
123
+ The cover and supporting photographs are AI-generated conceptual illustrations,
124
+ not proof evidence or screenshots of an implemented interpreter. Image provenance
125
+ and the exact generation prompts are in [the asset notes](docs/assets/README.md).
126
+
127
+ ---
128
+
129
+ ### 💼 Commercial License
130
+
131
+ This repository is published under **a proprietary source-visible license**. Building a commercial product or service? A **proprietary commercial license** from Snapkitty Collective LLC lets you ship this code on terms other than a proprietary source-visible license.
132
+
133
+ **[→ Get a commercial license](mailto:A.parr@belespritdaccord.uk?subject=Commercial%20license:%20unlambda-idris-spark)** · A.parr@belespritdaccord.uk