From: Max Value Date: Wed, 11 Jun 2025 14:50:58 +0000 (+0100) Subject: Added 004 (under review) X-Git-Url: https://git.ozva.co.uk/?a=commitdiff_plain;h=refs%2Fheads%2Fmain;p=ootc-docs Added 004 (under review) --- diff --git a/Makefile b/Makefile index 826f64d..1d9906b 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -documents = 001 002 003 +documents = 001 002 003 004 .PHONY : all all : pdf tidy diff --git a/docs/004.tex b/docs/004.tex new file mode 100644 index 0000000..5c3fd86 --- /dev/null +++ b/docs/004.tex @@ -0,0 +1,150 @@ +\usepackage{amsmath} +\usepackage{soul} + +\title{\textit{C\textsubscript{hail}} more: Branching paths} +\id{004} +\type{Investigation} +\version{Under review} +\exerpt{% + Esoteric Licence Section 4a "The word of the Office of the Commissioner (All Hail) is above all [...]" +} + +\begin{document} +\maketitle + +\begin{abstract} + The conceptual expansion of the Commissioner (all-hail) has promted a change to the schema, broadining the $C_{hail}$ scope to all possible outcomes while still containing a trivial path to the identity function. + + The powerfull but fairly loosely defined \textit{Version 3} has also been elaborated with further examples. +\end{abstract} + +\section{Changes} + +The previous itteration of \textit{The Schema} will be refered to as \textit{Version 3}, with this version refered to as \textit{Version 4}. + +\begin{displaymath} +\begin{split} +\textit{Version 3}:\quad & R_n G_i \rightarrow_{\beta} R_{n+1} G_{i+1}\\ +\textit{Version 4}:\quad & R_n G_i \rightarrow_{\beta} R_m G_j +\end{split} +\end{displaymath} + +In previous versions of the schema, rule $n$ ($R_n$ below) directly evaluated to rule $n+1$ and the changed gamespace. By rules evaluating differently based on the input (the gamespace), $C_{hail}$ contains not only each of the rules that will be applied in the current game (as in \textit{version 3}), but every rule that could ever be applied in the context of the initial gamespace $G_0$. + +\section{Structure} + +Rules are defined by the following. + +\begin{displaymath} +\begin{split} +R_n & = (\lambda x.(\texttt{COND}\ x)(\lambda y.R_a (\texttt{}\ y))(\lambda y.R_b x)) x +\end{split} +\end{displaymath} + +\texttt{COND} evaulates to either \texttt{TRUE} or \texttt{FALSE}. + +\begin{displaymath} +\begin{split} +R_n[G_i := x] & \rightarrow_{\beta} (\texttt{COND}\ G_i)(\lambda y.R_a (\texttt{}\ y))(\lambda y.R_b G_i)G_i\\ +& \rightarrow_{\beta} \texttt{TRUE}(\lambda y.R_a (\texttt{}\ y))(\lambda y.R_b G_i)G_i\\ +& \rightarrow_{\beta} \lambda y.R_a (\texttt{}\ y)G_i\\ +& \rightarrow_{\beta} R_a (\texttt{}\ G_i)\\ +R_n G_i \rightarrow x[G_i := x] & = R_{m} G_j +\end{split} +\end{displaymath} + +The gamespace could be structured in any way and this could change during the evaluation of $C_{hail}$. + +$t$ is the terminal state. $R_t$ evaluates to the identity function and Church Numberal 0. + +\begin{displaymath} +\begin{split} +R_t G_t & \rightarrow_{\beta} \lambda x.(\lambda y.y) = 0 +\end{split} +\end{displaymath} + +The Commissioner (all hail) always exaluates to the identity function. + +\begin{displaymath} +\begin{split} +C_{hail} & = \lambda s.R_0 s\\ +C_{hail} G_0 \rightarrow s[G_0 := s] & = R_t(...(R_n(R_0 G_0)))\\ +& = R_t G_t = 0 +\end{split} +\end{displaymath} + +\section{Pick-up game} + +Let's consider an example where the gamespace represents the current number of cards in the single players hand, we will disregard the value of each card for the moment. + +Some conventional definitions have been used where trivial. The number $n$ is represented as the function $f$ composed with itself $n$ times with the shorthand $f^{(n)}$ and the function incrementing a numberal is represented as \texttt{HIT} (commonly named \texttt{SUCC}). See Appendix section \ref{sec:defs} for further used definitions. + +\begin{displaymath} +\begin{split} +\texttt{BUST} & = R_t = \lambda x.x\\ +\texttt{HIT} & = \lambda x.\lambda y.\lambda z.y (xyz)\\ +\texttt{PLAYER} & = (\lambda x.(\texttt{FREEWILL}\ x)(\texttt{CHECK} (\texttt{HIT}\ x))(\texttt{PLAYER}\ x)) x\\ +\texttt{CHECK} & = (\lambda x.(\texttt{ISZERO}(\texttt{SUB}\ x f^{(6)}))(\texttt{PLAYER}\ x)(\texttt{BUST}\ f^{(0)})) x\\ +G_0 & = f^{(2)}\\ +C_{hail} & = R_0 = \texttt{PLAYER} +\end{split} +\end{displaymath} + +This example is a very simple, but playable, game. The player starts with 2 cards and has the choice to hit or stick. When the player has more than 5 cards, the player is bust and the game is over. Other than the function \texttt{FREEWILL}, representing the choice of the player, the game is trivially implemented. + +If the player should keep ``sticking'', the game may not evaluate to $R_t$. This is solved for us cleanly by entropy which ties up loose ends, evaluating the player to $R_t$. + +Lets evaluate the example game. + +\begin{displaymath} +\begin{split} +C_{hail} G_0 & = f^{(2)} \texttt{PLAYER}\\ +& \rightarrow_{\beta} (\lambda x.(\texttt{FREEWILL}\ x)(\texttt{CHECK} (\texttt{HIT}\ x))(\texttt{PLAYER}\ x)) f^{(2)}\\ +& \rightarrow_{\beta} (\texttt{FREEWILL}\ f^{(2)})(\texttt{CHECK} (\texttt{HIT}\ f^{(2)}))(\texttt{PLAYER}\ f^{(2)}) +\end{split} +\end{displaymath} + +Let's say the player decides to hit. + +\begin{displaymath} +\begin{split} +& \rightarrow_{\beta} \texttt{TRUE}(\texttt{CHECK} (\texttt{HIT}\ f^{(2)}))(\texttt{PLAYER}\ f^{(2)})\\ +& \rightarrow_{\beta} \texttt{CHECK} (\texttt{HIT}\ f^{(2)})\\ +& \rightarrow_{\beta} \texttt{CHECK}\ f^{(3)} +\end{split} +\end{displaymath} + +Let's check if the player is bust. + +\begin{displaymath} +\begin{split} +& \rightarrow_{\beta} (\lambda x.(\texttt{ISZERO}(\texttt{SUB}\ x f^{(6)}))(\texttt{PLAYER}\ x)(\texttt{BUST}\ f^{(0)})) f^{(3)}\\ +& \rightarrow_{\beta} (\texttt{ISZERO}(\texttt{SUB}\ f^{(3)} f^{(6)}))(\texttt{PLAYER}\ f^{(3)})(\texttt{BUST}\ f^{(0)})\\ +& \rightarrow_{\beta} (\texttt{ISZERO}\ f^{(0)})(\texttt{PLAYER}\ f^{(3)})(\texttt{BUST}\ f^{(0)})\\ +& \rightarrow_{\beta} \texttt{TRUE}(\texttt{PLAYER}\ f^{(3)})(\texttt{BUST}\ f^{(0)})\\ +& \rightarrow_{\beta} \texttt{PLAYER}\ f^{(3)}\\ +\end{split} +\end{displaymath} + +The player has successfully hit and the move is with the player again. + +\appendix + +\section*{Appendix} + +\section{Common definitions} + +\label{sec:defs} + +\begin{displaymath} +\begin{split} +\texttt{PRED} & = \lambda n.(\lambda f.(\lambda x.n (\lambda g.\lambda h.h (g f)) (\lambda u.x) (\lambda u.u)))\\ +\texttt{SUB} & = \lambda m.(\lambda n.n\ \texttt{PRED}\ m)\\ +\texttt{SUCC} & = \lambda n.(\lambda f.(\lambda x.f (n f x))) \\ +\texttt{TRUE} & = \lambda x.(\lambda y.x) \\ +\texttt{FALSE} & = \lambda x.(\lambda y.y)\\ +\texttt{ISZERO} & = \lambda n.n (\lambda x.\texttt{FALSE}) \texttt{TRUE} +\end{split} +\end{displaymath} + +\end{document} diff --git a/ootc-pdf.cls b/ootc-pdf.cls index 22e2657..8b2a31a 100644 --- a/ootc-pdf.cls +++ b/ootc-pdf.cls @@ -112,7 +112,7 @@ Item \@id \textit{(\@version)}\par \begin{quotation} \noindent\textcolor{gray}{\textit{% - "\@exerpt " + "\@exerpt{}" }} \end{quotation} \thispagestyle{empty} @@ -127,13 +127,12 @@ \noindent Published by The Office of the Commissioner (all hail).\par \noindent Designed by Goodnight Publishing.\par \vspace{5mm} - \noindent For more information, see: \texttt{https:// all-hail.co.uk}\par - \noindent Address inquiries to: \texttt{commissionerallhail@gmail.com}\par + \noindent For more information, see: \texttt{https://all-hail.co.uk}\par \section*{Licence} All works related to Blackjack 2, including those published by the Office of the Commissioner (all hail) are licenced under the \texttt{Blackjack 2 Esoteric Licence}. - For the latest version, see: \texttt{https://blackjack2.neocities.org/licence.txt }\par + For the latest version, see: \texttt{https://all-hail.co.uk/licence.txt }\par \vspace*{\fill} \begin{flushright} \includegraphics[height=3cm]{goodnight}