{"id":15393899,"url":"https://github.com/mitchellh/tlaplus-radix-tree","last_synced_at":"2025-04-14T10:35:22.642Z","repository":{"id":48845575,"uuid":"381801386","full_name":"mitchellh/tlaplus-radix-tree","owner":"mitchellh","description":"TLA+ modules, specifications, and models for Radix trees.","archived":false,"fork":false,"pushed_at":"2021-07-09T23:36:40.000Z","size":2285,"stargazers_count":33,"open_issues_count":1,"forks_count":2,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-10T05:59:26.703Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TLA","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mitchellh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-06-30T18:42:31.000Z","updated_at":"2024-02-10T03:43:51.000Z","dependencies_parsed_at":"2022-09-01T09:12:09.149Z","dependency_job_id":null,"html_url":"https://github.com/mitchellh/tlaplus-radix-tree","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mitchellh%2Ftlaplus-radix-tree","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mitchellh%2Ftlaplus-radix-tree/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mitchellh%2Ftlaplus-radix-tree/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mitchellh%2Ftlaplus-radix-tree/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mitchellh","download_url":"https://codeload.github.com/mitchellh/tlaplus-radix-tree/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248863438,"owners_count":21174001,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-01T15:20:44.783Z","updated_at":"2025-04-14T10:35:22.616Z","avatar_url":"https://github.com/mitchellh.png","language":"TLA","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TLA+ Specifications for Radix Trees\n\nThis repository includes TLA+ specifications and models for\n[Radix trees](https://en.wikipedia.org/wiki/Radix_tree) and algorithms\non Radix trees. The focus of this repository is specifically on specifying\nthe behavior of the  [hashicorp/go-immutable-radix](https://github.com/hashicorp/go-immutable-radix)\nGo library. However, many modules are fairly generic and could easily be\nadapted to any Radix implementation.\n\n## CLI Usage\n\nYou can always import these specifications and models directly into TLA+ Toolbox.\nI also have `make` targets for executing via the CLI. These expect that you\nhave `pcal` and `tlc2` setup as scripts or aliases to execute the respective\ncommands in `tlatools.jar`. If you have no idea what I'm talking about, stick\nwith TLA+ Toolbox for now.\n\nIf you're a Nix user, this repository has a `shell.nix` that sets everything up.\n\n### Executing a Model\n\nTo execute a model:\n\n    $ make tlc SPEC_NAME=RadixTreesValidation\n\nThis will run `tlc2` against the model defined in `models/RadixTreesValidation/MC.tla`.\nBy default this uses `MC.tla`, but if a specification has multiple models, you\ncan execute it by specifying `MODEL_NAME` in addition to `SPEC_NAME`.\n\nExample:\n\n```shell-session\n$ make tlc SPEC_NAME=RadixTreesValidation\nTLC2 Version 2.15 of Day Month 20?? (rev: ${git.shortRevision})\nRunning breadth-first search Model-Checking with fp 79 and seed 1841139739546182859 with 1 worker on 8 cores with 3660MB heap and 64MB offheap memory (Linux 5.10.40 amd64, Oracle Corporation 1.8.0_272 x86_64, MSBDiskFPSet, DiskStateQueue).\nParsing file /home/mitchellh/code/go/src/github.com/mitchellh/tla-go-immutable-radix/models/RadixTreesValidation/MC.tla\nParsing file /home/mitchellh/code/go/src/github.com/mitchellh/tla-go-immutable-radix/RadixTreesValidation.tla\nParsing file /tmp/TLC.tla\nParsing file /tmp/FiniteSets.tla\nParsing file /tmp/Integers.tla\nParsing file /home/mitchellh/code/go/src/github.com/mitchellh/tla-go-immutable-radix/RadixTrees.tla\nParsing file /tmp/Sequences.tla\nParsing file /tmp/Naturals.tla\nSemantic processing of module Naturals\nSemantic processing of module Sequences\nSemantic processing of module FiniteSets\nSemantic processing of module Integers\nSemantic processing of module RadixTrees\nSemantic processing of module TLC\nSemantic processing of module RadixTreesValidation\nSemantic processing of module MC\nStarting... (2021-07-04 14:35:49)\nTRUE\nComputing initial states...\nFinished computing initial states: 0 distinct states generated at 2021-07-04 14:35:49.\nModel checking completed. No error has been found.\n  Estimates of the probability that TLC did not check all reachable states\n  because two distinct states had the same fingerprint:\n  calculated (optimistic):  val = 0.0\n0 states generated, 0 distinct states found, 0 states left on queue.\nThe depth of the complete state graph search is 1.\nFinished in 01s at (2021-07-04 14:35:49)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmitchellh%2Ftlaplus-radix-tree","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmitchellh%2Ftlaplus-radix-tree","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmitchellh%2Ftlaplus-radix-tree/lists"}