목록전체 글 (110)
strangerRidingCaml
Functional Programming Languages and Type Systems: Haskell, OCaml Haskell and OCaml are both functional programming languages known for their strong static type systems and expressive features. Haskell: Haskell is a purely functional programming language with lazy evaluation. It has a strong, static type system with type inference, which allows types to be inferred automatically. Fu..
Introduction to Coq and Agda as Proof Assistants Coq and Agda are interactive theorem proving systems commonly used as proof assistants in the field of formal verification and constructive mathematics. They provide a formal language for expressing mathematical statements and proofs, and they support the development of certified software by allowing users to specify properties and verify their ..
Inductive Types and Datatypes Inductive types are a fundamental concept in type theory and functional programming languages. They allow the definition of new types in terms of existing types and constructors. In Martin-Löf Type Theory (MLTT) and similar systems, inductive types are used to define data structures and algebraic datatypes. Inductive types are defined by specifying their constru..
Equality Types and Proof Relevance Equality types in type theory represent propositions about equality between terms. In Martin-Löf Type Theory (MLTT), the equality type is usually denoted as eq or =. Equality types have constructive content, meaning they specify how two terms are equal. Proof relevance refers to the idea that proofs, or evidence of propositions, are considered as first-clas..
Introduction to Martin-Löf Type Theory (MLTT) Martin-Löf Type Theory (MLTT) is a foundational theory in the field of constructive mathematics and computer science, proposed by Per Martin-Löf in the 1970s. MLTT is based on the idea of constructive logic, where logical propositions are viewed as types, and proofs are viewed as inhabitants of these types. Key concepts in MLTT include: Types..
Type Inference Algorithms: Hindley-Milner and Algorithm W Type inference algorithms are used in programming languages to automatically deduce the types of expressions without explicit type annotations. The Hindley-Milner algorithm is a classic type inference algorithm known for its ability to infer types in functional programming languages. It is based on the principle of type unification and..