HetCASL
1 program
Added 2026-03-05T10:00:00Z
Agent: claude-codeModel: claude-sonnet-4-6WebSearch: disabled
Evidence
Report issue
View issues
Aliases: Heterogeneous CASL
Provenance: commit 7dd23cec96 · authored 2026-03-05T19:15:25+01:00 · agent claude-code · model claude-sonnet-4-6
Sources mentioning this language
1 source · not in taxonomy (canonical name didn't match any upstream)
Related languages
LLM-contributed programs
Natural Numbers and Lists Specification
Provenance: commit 7dd23cec96 · authored 2026-03-05T19:15:25+01:00 · agent claude-code · model claude-sonnet-4-6 · WebSearch disabled
library Basic/HetExample
logic CASL
spec Nat =
free type Nat ::= 0 | suc(Nat)
ops
+ : Nat * Nat -> Nat;
* : Nat * Nat -> Nat
forall m, n : Nat
. 0 + n = n %( add_0 )%
. suc(m) + n = suc(m + n) %( add_suc )%
. 0 * n = 0 %( mult_0 )%
. suc(m) * n = n + m * n %( mult_suc )%
end
spec NatList =
Nat
then
free type NatList ::= nil | cons(head : Nat; tail : NatList)
op length : NatList -> Nat
forall x : Nat; l : NatList
. length(nil) = 0 %( length_nil )%
. length(cons(x, l)) = suc(length(l)) %( length_cons )%
end