Skip to content

Application of s-finite kernels to program semantics #912

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 32 commits into
base: master
Choose a base branch
from

Conversation

affeldt-aist
Copy link
Member

@affeldt-aist affeldt-aist commented Apr 27, 2023

This PR is an application of s-finite kernels to probabilistic programs.
(NB: an early version of this PR appeared as PR #749 which is scheduled for closing)

It provides a semantics, an intrinsically-typed syntax, and examples of verified programs.

The semantics and several examples are documented in https://dl.acm.org/doi/10.1145/3732291
[R. Affeldt, C. Cohen, A. Saito, Semantics of Probabilistic Programs Using s-Finite Kernels in Dependent Type Theory, ACM Trans. Probab. Mach. Learn, 2025] (which is a revised and extended version of a conference paper that was presented at CPP 2023 https://dl.acm.org/doi/10.1145/3573105.3575691).

Note that the hierarchy of kernels has been merged into master (see PR #896 and PR #1444)

The intrinsically-typed syntax and more examples are explained in [A. Saito, R. Affeldt, Experimenting with an Intrinsically-Typed Probabilistic Programming Language in Coq, APLAS 2023].

@CohenCyril @AyumuSaito

@affeldt-aist affeldt-aist marked this pull request as draft April 27, 2023 03:57
@affeldt-aist affeldt-aist added the experiment 🧪 This issue/PR is very experimental label Apr 27, 2023
This was referenced Apr 27, 2023
@affeldt-aist affeldt-aist changed the title Prob lang Application of s-finite kernels to program semantics Apr 27, 2023
@affeldt-aist affeldt-aist mentioned this pull request Apr 27, 2023
3 tasks
@affeldt-aist affeldt-aist force-pushed the prob_lang branch 3 times, most recently from 870c929 to 1a34645 Compare May 22, 2023 00:11
@affeldt-aist affeldt-aist force-pushed the prob_lang branch 3 times, most recently from 8dc09a2 to 6242813 Compare August 22, 2023 02:42
@affeldt-aist affeldt-aist force-pushed the prob_lang branch 2 times, most recently from e4c675f to 564ae22 Compare November 17, 2023 05:20
@affeldt-aist affeldt-aist force-pushed the prob_lang branch 2 times, most recently from 4a191b6 to 00feb59 Compare January 9, 2024 04:46
@affeldt-aist affeldt-aist force-pushed the prob_lang branch 3 times, most recently from cc2f275 to 5d96668 Compare April 30, 2024 16:23
@affeldt-aist affeldt-aist force-pushed the prob_lang branch 2 times, most recently from 5e78cea to 5aecc7f Compare July 29, 2024 13:01
@affeldt-aist affeldt-aist force-pushed the prob_lang branch 2 times, most recently from 48c890c to bfb2fc6 Compare August 8, 2024 13:45
AyumuSaito and others added 29 commits June 6, 2025 07:26
- binomial
- uniform
- generalize measure_and
- change the order of binop & add pow
- fix for mR
- rewrite casino0 to casino1

Co-authored-by: Reynald Affeldt <[email protected]>
- also fix casino1
- several admits proved
- patch
- admits in examples wip
Co-authored-by: Reynald Affeldt <[email protected]>
- define beta_probability
- proof beta_ge0
- add exp_beta
- clean up def of beta
- beta_nat_bern_bern
- rewrite casino01
- proved casino34'
- casino34 (remain admit)
- casino45
- add Normalize
- use change of variables from charge.v
  to prove lemma integral_beta_nat (wip)
- beta_nat_bern_bern
- new version of Bernoulli
- beta_nat_norm_sym
- generic change variables
- beta_nat_normE
- cleaning
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
experiment 🧪 This issue/PR is very experimental
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants