-
Notifications
You must be signed in to change notification settings - Fork 24
Expand file tree
/
Copy pathmain.typ
More file actions
54 lines (42 loc) · 1.37 KB
/
Copy pathmain.typ
File metadata and controls
54 lines (42 loc) · 1.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#import "@preview/arkheion:0.1.1": arkheion, arkheion-appendices
#show: arkheion.with(
title: "Mapcode : Recursion Modeling",
authors: (
(name: "Nitheesh Chandra", email: "nitheeshchandra.y@research.iiit.ac.in", affiliation: "TA, PoPL"),
(name: "Contributors from PoPL 2025, IIITH", email: "", affiliation: "Students, PoPL"),
),
abstract: [
Recursion modeling in the `mapcode` framework.
],
keywords: ("Mapcode", "Recursion", "Programming"),
date: datetime.today().display()
)
#import "lib/style.typ": *
#set math.equation(numbering:none)
= Notations and Conventions
A vector is (zero-)indexed as follows that has size $n+1$:
$ vec(x_0, dots.v, x_n,
delim: "["
)_(n+1)
$
A matrix is also (zero-)indexed as follows that has size $m times n$:
$ mat(
delim: "[",
x_(0,0), x_(0,1), dots, x_(0,n-1);
x_(1,0), x_(1,1), dots, x_(1,n-1);
dots, dots, dots, dots;
x_(m-1,0), x_(m-1,1), dots, x_(m-1,n-1)
)_(m times n)
$
All primitives are _strict_ meaning they do not allow for undefined values (i.e., $bot$) to be used in their computations.
#pagebreak()
= Examples
#include "algorithms/factorial.typ"
#pagebreak()
#include "algorithms/fibonacci.typ"
#pagebreak()
#include "algorithms/BinomialCoefficients.typ"
#pagebreak()
#include "algorithms/LongestCommonSubsequence.typ"
#pagebreak()
#include "algorithms/leetcode/P2_add-two-numbers.typ"