Symbolic Calculus for High-Performance Computing: From Scratch Using C++23
trick Comparison Binding Constraints Architecture Substitution Construction Conclusion Symbolic Calculus for High-Performance Computing from Scratch using C++23 Vincent Reverdy Laboratoire d’Annecy de people, you can do it yourself) What this talk is A tutorial so you can build your own symbolic calculus tools from scratch in modern C++ CppCon - Vincent Reverdy - October 4th, 2023 - Aurora, Colorado = y / z) should generate a new formula Simplification based on mathematical concepts Symbolic calculus (derivatives, integrals) Full blown custom rule-based rewriting High-performance Since formulas0 码力 | 70 页 | 1.80 MB | 5 月前3Programming in Lean Release 3.4.2
enough, in fact, to include all conventional mathematics. Lean’s underlying logical framework, the Calculus of Inductive Constructions, constitutes a surprisingly good programming language. It is expressive efficient compilation in a future version of Lean. Viewed from a computational perspective, the Calculus of Inductive Constructions is an instance of a purely functional programming language. This means TWO TYPES AND TERMS Lean’s foundational framework is a version of a logical system known as the Calculus of Inductive Con- structions, or CIC. Programming in Lean amounts to writing down expressions in0 码力 | 51 页 | 220.07 KB | 1 年前3An Introduction to Lean
dependent type theory. Specifi- cally, it implements a version of dependent type theory known as the Calculus of Inductive Constructions. The CIC is a formal language with a small and precise set of rules that programming and metaprogramming. 2 Defining Objects in Lean As a foundational framework, the Calculus of Inductive Constructions, or CIC, is flexi- ble enough to define all kinds of mathematical objects chapter. CHAPTER 2. DEFINING OBJECTS IN LEAN 20 2.3 Defining New Types In the version of the Calculus of Inductive Constructions implemented by Lean, we start with a sequence of type universes, Sort0 码力 | 48 页 | 191.92 KB | 1 年前3Theorem Proving in Lean Release 3.23.0
to do it in a natural way. More specifically, Lean is based on a version of a system known as the Calculus of Constructions [CoHu88] with inductive types [Dybj94]. We will explain not only how to define these in a natural and uniform way. Lean is based on a version of dependent type theory known as the Calculus of Constructions, with a countable hierarchy of non-cumulative universes and inductive types. By q from dependent type theory as our notion of implication. This is the approach followed in the Calculus of Constructions, and hence in Lean as well. The fact that the rules for implication in a proof0 码力 | 173 页 | 777.93 KB | 1 年前3Back to Basics: Lambda Expressions
library for managing access to data shared between threadsLambda Expressions ● History ○ lambda calculus is a branch of mathematics ■ introduced in the 1930’s to prove if “something” can be solved ■ ■ used to construct a model where all functions are anonymous ■ some of the first items lambda calculus was used to address ● if a sequence of steps can be defined which solves a problem, then can a program other computer ○ yes, given sufficient time and memory ■ languages which were influenced by lambda calculus ● Haskell, LISP, and ML 5Lambda Expressions ● History ○ why do we use the terminology lambda0 码力 | 48 页 | 175.89 KB | 5 月前3The Hitchhiker’s Guide to Logical Verification
assistants are software tools designed to help their users carry out computer-checked proofs in a logical calculus. We usually call them proof assis- tants, or interactive theorem provers, but a mischievous student interactive theorem proving: It has a highly expressive, and highly interesting, logic based on the calculus of inductive constructions, a dependent type theory. It is extended with classical axioms and quotient state their expected properties as lemmas. Lean’s logical foundation is a rich formalism called the calculus of inductive constructions, which supports dependent types. In this chapter, we restrict our attention0 码力 | 215 页 | 1.95 MB | 1 年前3深度学习与PyTorch入门实战 - 16. 什么是梯度
https://github.com/tomgoldstein/loss-landscape Saddle point https://www.khanacademy.org/math/multivariable-calculus/applications-of- multivariable-derivatives/optimizing-multivariable-functions-videos/v/saddle-points0 码力 | 17 页 | 1.49 MB | 1 年前3Agda User Manual v2.6.2
to define things in mutual recursion. Grammar At its core, Agda is a dependently typed lambda calculus. The grammar of terms where a represents a generic term is: a ::= x -- variable t/Succeed/LaterPrims.agda]. References [1] Niccolò Veltri and Andrea Vezzosi. “Formalizing pi-calculus in guarded cubical Agda.” [https://doi.org/10.1145/3372885.3373814] In CPP’20. ACM, New York, NY indexed data. As an example, let us write a correct-by-construction type checker for simply typed λ-calculus. First we define the raw terms, using de Bruijn indices for variables and explicit type annotations0 码力 | 348 页 | 414.11 KB | 1 年前3Agda User Manual v2.6.2.2
to define things in mutual recursion. Grammar At its core, Agda is a dependently typed lambda calculus. The grammar of terms where a represents a generic term is: a ::= x -- variable interval I, or IsOne _ type. References [1] Niccolò Veltri and Andrea Vezzosi. “Formalizing pi-calculus in guarded cubical Agda.” [https://doi.org/10.1145/3372885.3373814] In CPP’20. ACM, New York, NY indexed data. As an example, let us write a correct-by-construction type checker for simply typed λ-calculus. First we define the raw terms, using de Bruijn indices for variables and explicit type annotations0 码力 | 354 页 | 433.60 KB | 1 年前3Agda User Manual v2.6.2.1
to define things in mutual recursion. Grammar At its core, Agda is a dependently typed lambda calculus. The grammar of terms where a represents a generic term is: a ::= x -- variable interval I, or IsOne _ type. References [1] Niccolò Veltri and Andrea Vezzosi. “Formalizing pi-calculus in guarded cubical Agda.” [https://doi.org/10.1145/3372885.3373814] In CPP’20. ACM, New York, NY indexed data. As an example, let us write a correct-by-construction type checker for simply typed λ-calculus. First we define the raw terms, using de Bruijn indices for variables and explicit type annotations0 码力 | 350 页 | 416.80 KB | 1 年前3
共 67 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7