 Finally, we summarize in Section \[sec:discussion\].

Models expressed in a programming language\[sec:models\]
========================================================

Probabilistic programming considers models expressed in Turing-complete programming languages. Such models are usually referred to as *probabilistic programs*—qualified to *universal probabilistic programs* when one wishes to regard only the broadest class in terms of expressivity—and described in programming language nomenclature. Here, we adopt probabilistic nomenclature instead, to provide a more accessible treatment for the intended audience. Taking the lead from the term *graphical model*—a model expressed in a graphical language—we suggest that the term *programmatic model*—a model expressed in a programming language—might be more appropriate for this audience, and adopt this term throughout. Specifically, we avoid the use of the term *program* when referring only to a model implementation, as in ordinary usage one thinks of a computer program as combining the implementation of both a model and an inference method, which can cause confusion. The term can also be misleading given unrelated but similarly-named concepts in system identification, such as linear programs and stochastic programs.

We follow the statistics convention of using uppercase letters to denote random variables (e.g. $V$) and lowercase letters to denote instantiations of them (e.g. $v$), with $v\in\mathbb{V}$. We then adopt measure theory notation to clearly distinguish between distributions (which we will ultimately simulate) and likelihood functions (which we will ultimately evaluate): the distribution of a random variable $V$ is denoted $p(\mathrm{d}v)$, while evaluation of an associated probability density function (pdf, for continuous-valued random variables) or probability mass function (pmf, for discrete-valued random variables) is denoted $p(v)$.

Assume that we have a countably infinite set of random variables $\{V_{k}\}_{k=1}^{\infty}$, with a joint probability distribution over them, which has been implemented in code in some programming language. The only stochasticity available to the code is via these random variables. We execute the code, and as it runs it encounters a finite subset of the random variables in some order determined by that code. Denote this order by a permutation $\sigma$, with its (random) length denoted $|\sigma|$, defining a sequence $(V_{\sigma[k]})_{k=1}^{|\sigma|}$. The first element, $\sigma[1]$, is always the same
Finally, we summarize in Section \[sec: discussion\ ]. 

 Models expressed in a programming language\[sec: models\ ] 
 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 

 Probabilistic scheduling considers mannequin expressed in Turing - accomplished scheduling languages. Such models are usually consult to as * probabilistic programs*—qualified to * universal probabilistic plan * when one wishes to regard entirely the broadest class in term of expressivity — and described in programming language nomenclature. Here, we adopt probabilistic nomenclature alternatively, to provide a more accessible treatment for the intended consultation. Taking the lead from the term * graphical model*—a exemplar expressed in a graphical language — we suggest that the term * programmatic model*—a exemplar expressed in a programming language — might be more appropriate for this audience, and adopt this term throughout. Specifically, we avoid the use of the term * program * when referring only to a model implementation, as in ordinary usage one thinks of a calculator plan as combining the execution of both a exemplar and an inference method acting, which can cause confusion. The term can also be misleading given unrelated but similarly - named concepts in system designation, such as linear programs and stochastic programs. 

 We follow the statistics convention of using uppercase letters to announce random variables (e.g. $ V$) and lowercase letters to denote instantiations of them (e.g. $ v$), with $ v\in\mathbb{V}$. We then adopt measuring stick theory notation to clearly distinguish between distributions (which we will ultimately imitate) and likelihood functions (which we will ultimately evaluate ): the distribution of a random variable $ V$ is announce $ p(\mathrm{d}v)$, while evaluation of an associated probability density function (pdf, for continuous - valued random variable) or probability mass routine (pmf, for discrete - valued random variables) is denote $ p(v)$. 

 Assume that we suffer a countably infinite stage set of random variables $ \{V_{k}\}_{k=1}^{\infty}$, with a joint probability distribution over them, which has been follow through in code in some programming language. The alone stochasticity available to the code is via these random variable. We execute the code, and as it runs it encounters a finite subset of the random variables in some order determined by that code. Denote this order by a permutation $ \sigma$, with its (random) length denote $ |\sigma|$, defining a sequence $ (V_{\sigma[k]})_{k=1}^{|\sigma|}$. The beginning element, $ \sigma[1]$, is always the like
 Fijally, we summarize in Segtion \[sec:discussnin\].

Modens expdessed iv a programming language\[sec:mldwls\]
========================================================

Pribabilistic programmine considegs models expcessed in Turing-rkmplete progrzlminy oanguages. Such models ara usually refesrdd to as *probabilistic programs*—qualifyed to *inlversal probabylisuic profgans* when one wishes to regard knly tht broadest class im terms of expressivity—and desfribed in programmlng languagg noiwnclature. Hefe, we adopu 'robabilistjc nomenclature instead, to provkde a more accewsublf treatment hor thv intended audience. Tdking tne lead from tme tecm *geaphical model*—a model expressed in a grwphical ldnyuage—we suggest that rhw terk *prmgraonatkc jovel*—z modep eepressed in a programmung language—might bt mjgr appropriats for ehys audience, and adopt this term throughmut. Specifically, we avoid rhe use of the term *ptogram* wheg referring only to a model implementation, as in mrdinerh uwane ovw hhinks of a computer program as combining the jmklekentation of bjth a model ajd wn inference oethod, whjch can cause confksion. Tre teem can alfo br misleading given unrelatee but similagly-nqmed concepts in svstem identiyicatipn, suvh as linear programs aud stodhastic prohrams.

We fkulow the statistkcs cmnvention of using uppercafe letterw to denote rancom vawiables (e.g. $V$) and lowercase letters to dgnote hnstantiatlons of them (e.g. $v$), with $v\in\mathbu{T}$. We then adokt keavure thejry nptation to clqarly distingunsh betwzen dirtributiona (which we will uleimately simunwte) and likenihood ftnctuons (which dd will ultimatrly evalucue): the disrribution of a ranvom xzriable $V$ is deuuuee $p(\mathrm{d}v)$, whole evwllatmon os an associatad pfobxnilith densiuv fmncgion (pdf, for continuous-vdlues random variables) ov probabioity masf function (pmg, for discrete-valutd ranvom vaciablex) if denoted $p(v)$.

Assume that we havs a countwbln infinite see of random varicbles $\{V_{k}\}_{k=1}^{\infty}$, with a joint probability vistribution over them, qhich has been implgmekted in code in sjme progrdmming language. The inly stochasticitn available to the cods is vha thfse random variables. We execute the code, and as it runs it encounters a funite subset of ths ramdom narnabkes in somx urder determined by that code. Denote this order by a pesmbtation $\sigma$, with its (random) ldngth denoted $|\sigma|$, defining a sequende $(V_{\sigms[k]})_{k=1}^{|\sigma|}$. The first element, $\sigms[1]$, is always the same
Finally, we summarize in Section \[sec:discussion\]. Models a language\[sec:models\] ======================================================== programming considers models Such are usually referred as *probabilistic programs*—qualified *universal probabilistic programs* when one wishes regard only the broadest class in terms of expressivity—and described in programming language Here, we adopt probabilistic nomenclature instead, to provide a more accessible treatment for intended Taking lead the term *graphical model*—a model expressed in a graphical language—we suggest that the term *programmatic model*—a expressed in a programming language—might be more appropriate this audience, and adopt term throughout. Specifically, we avoid use the term when only a model implementation, in ordinary usage one thinks of a computer program as combining the implementation of both a model an inference can cause The can be misleading given similarly-named concepts in system identification, such and stochastic programs. We follow the statistics convention using uppercase to denote random variables (e.g. $V$) lowercase letters to denote instantiations of them (e.g. with $v\in\mathbb{V}$. We then adopt measure theory notation to clearly distinguish between distributions (which we simulate) and likelihood functions we will ultimately the of random $V$ is $p(\mathrm{d}v)$, while evaluation of an associated probability density function (pdf, for random variables) or probability mass function (pmf, for discrete-valued random denoted Assume that we a countably infinite set random $\{V_{k}\}_{k=1}^{\infty}$, with a joint over which in in programming language. The only available to the code is these random variables. We it runs it encounters a finite subset of random variables in some order determined by code. Denote this order by a permutation $\sigma$, with its (random) length $|\sigma|$, defining $(V_{\sigma[k]})_{k=1}^{|\sigma|}$. The first element, $\sigma[1]$, is always the
 Finally, we summarize in SectiOn \[sec:discuSsion\].

modEls ExPresSed iN a programming lANguaGe\[sec:models\]
========================================================

ProbabilistIc proGrAMminG CoNsideRs modelS ExPREssEd In turInG-CoMpletE prOgrammiNg languageS. SuCh Models are usuALlY referred tO as *ProbabilistiC prOgrams*—QuAliFIed to *UniVersaL probaBIlistiC programs* WhEN one wiSHes to reGARd Only The broadest class iN TeRMs of expressiviTy—and dEsCRiBED in ProGramming laNgUage nOMenclatURe. hERE, we ADopt probabiliStic nomenclATurE insteAd, To pROvide a More aCcESsiBle treatmenT for The intendEd audiENce. TakiNG the leaD from tHe tErm *GrapHIcAl ModEl*—A ModEL eXprESseD in a grapHiCaL langUage—WE SUGgesT thAt thE term *Programmatic mOdeL*—a moDEl eXpresSed in A proGrAmminG languAge—miGhT be more appropriAte fOr this audIenCe, And AdOpt thIS term tHroUghOut. SpecIficallY, We aVoID THe Use of the term *prograM* wHEN rEferring Only to A MoDeL ImplemenTaTioN, as iN ORdinaRy usAGe One thinkS of a coMPuTeR prograM aS combiNiNg tHe iMplemENtatIon of bOth a modeL and aN Inference methoD, Which can cause COnFUSiON. The TerM can also be mIsleADing GiveN UnRelATed buT simiLaRLy-NAmed concepts in systeM iDentifIcatiOn, such as lineaR programs aND STochastiC proGRaMS.

We follow the stAtistIcs conventIOn of usinG uppeRcase letTers to denOTE random vAriAblEs (e.G. $V$) aND LoWercase letterS TO denOtE instanTiaTions of TheM (e.g. $V$), wiTh $v\In\Mathbb{V}$. We Then adopT mEaSuRe TheOry noTAtion to cLeArlY dIstInguiSH betweEn disTribUtIoNS (whIch we wiLL uLTImatElY sImulAte) AnD likeLihoOD fuNctions (Which we wiLl uLTimaTeLy EvaluatE): the distributIoN of a random VaRiaBle $V$ is DENoted $p(\maThrm{d}v)$, while evaluation of AN associAteD probAbilIty densitY fuNction (Pdf, FOr contInuous-ValueD rAndOM VariaBLEs) Or pRoBability maSS FunCtion (PmF, for DiscretE-valued random variaBLes) Is denoted $p(v)$.

AsSumE thaT WE hAve A CoUNtaBlY InfINIte set of random vAriables $\{V_{k}\}_{K=1}^{\iNFtY}$, with a joinT ProBaBility dIstribuTion oVEr them, wHich has beEn implemeNtEd in CODe iN some progrAmming laNguage. The ONly stOChAsticIty AvailaBlE to The coDe is viA TheSe ranDom varIaBles. We ExecuTe The code, aNd as it runs it encounters a Finite SubseT of The random VarIAblEs in some oRder Determined By tHat Code. DEnoTE this OrdeR By A peRMutatIon $\sIGma$, with itS (RaNdoM) LEnGth denoted $|\sIGMA|$, deFininG a sEQuence $(v_{\sigMa[k]})_{k=1}^{|\sigma|}$. The first ELement, $\sigma[1]$, is aLwayS THe sAme
 Finally, we summarize inSection \[ sec:d isc uss io n\]. 

Mo dels expressed in a  programming language\ [sec: mo d els\ ] 
= ===== ======= = == = = === == == === == = == ===== === ======= ========
Pro ba bilistic pro g ra mming cons ide rs models ex pre ssed i nTur i ng-co mpl ete p rogram m ing la nguages.Su c h mode l s are u s u al ly r eferred to as *pr o ba b ilistic progra ms*—qu al i fi e d  to  *u niversal p ro babil i stic pr o gr a m s * w h en one wishes  to regardo nly  the b ro ade s t clas s inte r msof expressi vity —and desc ribedi n progr a mming l anguag e n ome ncla t ur e.  He re ,  we ad opt pro babilist ic  n omenc latu r e i nste ad,  toprovi de a more acc ess ible tre atmen t for  the  i ntend ed aud ience .Taking the lead  fro m the ter m * gr aph ic al mo d el*—amod elexpress ed in a gra ph i c a llanguage—we sugges tt h at  the ter m *pro g ra mm a tic mode l* —amode l expre ssed in  a progr amming la ng uage—mi gh t be m or e a ppr opria t e fo r this  audienc e, an d  adopt this te r m throughout. Sp e c if i call y,we avoid th e us e  ofthet er m * p rogra m* wh en re f erring only to a mo de l impl ement ation, as inordinary u s a g e one th inks of a computer pro gramas combini n g the im pleme ntationof both a m odel and  an  in fer enc e me thod, which c a n  cau se  confus ion . The t erm  ca n a lso  b e mislead ing give nun re la ted  buts imilarly -n ame dcon cepts in sys tem i dent if ic a tio n, such as l inea rpr ogra msan d sto chas t icprogram s.

We fo llo w  the  s ta tistics  convention o fusing uppe rc ase  lette r s  to deno te random variables (e. g . $V$)and  lowe rcas e letters  to  denot e i n stanti ations  of t he m ( e . g. $v $ ) ,wit h$v\in\math b b {V} $. We  t henadopt m easure theory nota t ion  to clearly d ist ingu i s hbet w ee n  di st r ibu t i ons (which we w ill ultima te l ysimulate)a ndli kelihoo d funct ions( which w e will ul timatelyev alua t e ):the distri bution o f a rando m  vari a bl e $V$  is  denot ed  $p (\mat hrm{d} v )$,  whil e eval ua tion o f anas sociated  probability density fu nction  (pdf , f or contin uou s -va lued rand om v ariables)orpro babil ity massfunc t io n ( p mf, f or d i screte-va l ue d r a n do m variables ) i s d enote d $ p (v)$.
Ass ume that we havea  countably inf init e set  of rand om  variables $\{ V_{ k} \ } _{k=1}^{ \i nfty}$, wit h a join tp robab ilitydistri butiono v er them,whic h h as been i mpl em e nted in  c od e  in so me p ro grammi ng lan g uage . The only stochas ticit y avail a ble  to t he  code i s  via  these ran dom variabl es. We  exe cutethe cod e,  and a s i truns it en c ounters a  fini te subs et  ofthe  rando m va r i ables  inso meorder det e r mi n ed  b y  th at c ode.De note  this ord e r by a p erm u tation$\ sig m a $, wit h  i t s  (random)len gth d e n oted $|\si g ma|$ ,  d e finin g a se quence  $(V_{\ s igm a[ k]})_{k =1} ^ { |\sigma|} $. The fi r stel emen t, $\sig ma [1]$ ,isal ways the same
 Finally,_we summarize_in Section \[sec:discussion\].

Models expressed_in a_programming_language\[sec:models\]
========================================================

Probabilistic programming_considers_models expressed in_Turing-complete programming languages._Such models are usually_referred to as_*probabilistic_programs*—qualified to *universal probabilistic programs* when one wishes to regard only the broadest class_in_terms of_expressivity—and_described_in programming language nomenclature. Here,_we adopt probabilistic nomenclature instead,_to provide_a more accessible treatment for the intended audience._Taking_the lead from_the term *graphical model*—a model expressed in a graphical_language—we suggest that the term *programmatic_model*—a model expressed_in_a_programming language—might be more_appropriate for this audience, and adopt_this term throughout. Specifically, we avoid_the use of the term *program* when_referring only to a model implementation,_as in ordinary usage one_thinks of_a computer program as combining_the implementation of_both a_model and an_inference method, which can cause confusion._The term can_also be misleading given unrelated but_similarly-named_concepts in system_identification,_such_as linear_programs and stochastic_programs.

We_follow the_statistics_convention of using uppercase letters to_denote_random variables (e.g. $V$) and lowercase letters_to denote instantiations of_them_(e.g. $v$), with $v\in\mathbb{V}$._We then adopt measure theory_notation to clearly distinguish between distributions_(which we_will ultimately_simulate) and likelihood functions (which we will ultimately evaluate): the distribution_of a random variable $V$ is_denoted $p(\mathrm{d}v)$, while evaluation_of an_associated_probability density function_(pdf,_for continuous-valued_random variables) or probability mass function (pmf,_for discrete-valued_random variables) is denoted $p(v)$.

Assume that_we have a countably_infinite_set of random variables $\{V_{k}\}_{k=1}^{\infty}$, with_a joint probability distribution over them,_which has been implemented in_code_in_some programming language. The only_stochasticity available to the code is_via these random_variables. We execute the code, and as_it_runs it encounters a finite subset_of_the random variables in some order_determined_by_that code. Denote this order_by a permutation $\sigma$, with its_(random) length denoted $|\sigma|$, defining a sequence $(V_{\sigma[k]})_{k=1}^{|\sigma|}$. The_first element, $\sigma[1]$,_is always the same