Skip to content

Instantly share code, notes, and snippets.

View park-sewon's full-sized avatar
๐ŸŽ‡

Sewon Park park-sewon

๐ŸŽ‡
View GitHub Profile
@park-sewon
park-sewon / practice_coq_1.v
Created April 16, 2023 09:32
A simple Coq practice session
(* Context์™€ state๊ฐ€ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์ •ํ˜•ํ™”ํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.
ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ณ€์ˆ˜๋กœ๋Š” De Brujin index๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๋ฉฐ,
๋”ฐ๋ผ์„œ context๋Š” ๋‹จ์ˆœํžˆ ๋ฐ์ดํ„ฐ ํƒ€์ž…๋“ค์˜ ๋ฆฌ์ŠคํŠธ ์ž…๋‹ˆ๋‹ค.
(์˜ˆ๋ฅผ ๋“ค์–ด์„œ int :: int :: boolean :: nil ์ด ํ•˜๋‚˜์˜ context์ž…๋‹ˆ๋‹ค.
๋ฆฌ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ƒ๊ธฐ๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ๋ด…์‹œ๋‹ค.
16 April 2023 -- Sewon Park *)
Require Import List.
@park-sewon
park-sewon / IntuitionisticAttr.lean
Created March 2, 2025 16:28
LEAN tag attribute for checking classical axioms in Prop
import Lean
import Lean.Util.CollectAxioms
open Lean
initialize intuitionisticAttr : TagAttribute โ†
registerTagAttribute `intuitionistic "Tag attribute for intuitionistic prop"
fun decl =>
do
let axioms โ† collectAxioms decl
let invalid_axioms := axioms.filter