{"id":34301804,"url":"https://github.com/jgaltidor/twelf_tutorial","last_synced_at":"2026-03-13T12:32:24.406Z","repository":{"id":25269538,"uuid":"28694982","full_name":"jgaltidor/twelf_tutorial","owner":"jgaltidor","description":"Twelf Tutorial and Twelf Encoding of Minilang","archived":false,"fork":false,"pushed_at":"2015-06-09T01:24:34.000Z","size":2164,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-12-20T18:23:27.275Z","etag":null,"topics":["formal-methods","formal-verification","proof-assistant","twelf","typetheory-paper"],"latest_commit_sha":null,"homepage":null,"language":null,"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/jgaltidor.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":"2015-01-01T20:30:59.000Z","updated_at":"2025-06-02T16:24:42.000Z","dependencies_parsed_at":"2022-08-23T22:10:48.326Z","dependency_job_id":null,"html_url":"https://github.com/jgaltidor/twelf_tutorial","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jgaltidor/twelf_tutorial","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jgaltidor%2Ftwelf_tutorial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jgaltidor%2Ftwelf_tutorial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jgaltidor%2Ftwelf_tutorial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jgaltidor%2Ftwelf_tutorial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jgaltidor","download_url":"https://codeload.github.com/jgaltidor/twelf_tutorial/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jgaltidor%2Ftwelf_tutorial/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30467383,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-13T11:00:43.441Z","status":"ssl_error","status_checked_at":"2026-03-13T11:00:23.173Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["formal-methods","formal-verification","proof-assistant","twelf","typetheory-paper"],"created_at":"2025-12-17T06:55:51.140Z","updated_at":"2026-03-13T12:32:24.367Z","avatar_url":"https://github.com/jgaltidor.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"Twelf Tutorial\n===============\n\nBackground\n----------\n[Twelf][twelf] is a proof assistant tool for checking and deriving proofs of\nmathematical properties.\nThe Twelf system provides useful software features,\nsuch as [higher-order abstract syntax][hoas], for reasoning\nabout formal languages and deductive logics.\n\nContents\n---------\nThis package is a tutorial on Twelf and type theory.\nConcepts are presented using a *Twelf encoding* of\nprogramming language *Minilang*.\n*Minilang* is a language of number and strings\nthat is rigorously defined in file\n[`typetheory_paper.pdf`](typetheory_paper.pdf).\n\n### Documentation\n * [`typetheory_paper.pdf`](typetheory_paper.pdf):\n    Presents a type theory tutorial using *Minilang* as an\n    example language for presenting concepts.\n * [`typetheory_slides.pdf`](typetheory_slides.pdf):\n    Slide presentation of material in\n    [`typetheory_paper.pdf`](typetheory_paper.pdf).\n * [`twelf_slides.pdf`](twelf_slides.pdf):\n    More detailed slide presentation of Twelf and Twelf\n    encoding of *Minilang*.\n\n### Twelf Files\n * [`sources.cfg`](sources.cfg):\n    Tells Twelf the files to read and the order in which to process them.\n * [`syntax.elf`](syntax.elf):\n    Twelf encoding of *Minilang*'s syntax.\n * [`typing.elf`](typing.elf):\n    Twelf encoding of *Minilang*'s typing rules or static semantics.\n * [`evaluation.elf`](evaluation.elf):\n    Twelf encoding of *Minilang*'s evaluation rules or dynamic semantics.\n * [`preservation.elf`](preservation.elf):\n    Contains the preservation theorem and its proof.\n * [`progress.elf`](progress.elf):\n    Contains the progress theorem and its proof.\n * [`test_typing.elf`](test_typing.elf):\n    Provides example judgments that can be automatically derived by Twelf.\n\n\nTwelf Live Server\n------------------\nThe Twelf system can be used without installing it on\nyour local machine by using the\n[Twelf Live Server][twelf_server].\n\n\n[twelf]: http://twelf.org/wiki/Main_Page\n[hoas]: http://twelf.org/wiki/Higher-order_abstract_syntax\n[twelf_server]: http://twelf.org/live/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjgaltidor%2Ftwelf_tutorial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjgaltidor%2Ftwelf_tutorial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjgaltidor%2Ftwelf_tutorial/lists"}