WEBVTT

1
00:00:00.000 --> 00:00:09.200
This overview explains how pair-aware compilation represents
one live row variable and one live column variable with four bits.

2
00:00:09.200 --> 00:00:15.467
Equal token outputs can arise through different
construction routes with different costs and claims.

3
00:00:15.767 --> 00:00:19.000
Take the two-input and function in true-first order.

4
00:00:19.000 --> 00:00:22.933
Its four entries are one, zero, zero, zero.

5
00:00:22.933 --> 00:00:28.100
These four bits describe all two-input behavior only because both the variable identities

6
00:00:28.100 --> 00:00:31.533
and the input order have been declared.

7
00:00:31.533 --> 00:00:35.833
For this illustrative encoding, put the first entry in bit zero.

8
00:00:35.833 --> 00:00:38.233
The resulting integer is one.

9
00:00:38.233 --> 00:00:41.933
A format that puts the first entry in the high bit would encode the

10
00:00:41.933 --> 00:00:44.567
same ordered entries differently.

11
00:00:44.567 --> 00:00:49.467
An integer alone is therefore not enough to interpret the operator; this example does not

12
00:00:49.467 --> 00:00:53.500
prescribe an internal API format.

13
00:00:53.500 --> 00:00:58.667
A compact pair representation can be reached through different construction routes.

14
00:00:58.667 --> 00:01:04.133
Directly recognizing a small supported operator is different from evaluating or reducing a

15
00:01:04.133 --> 00:01:06.433
larger expression first.

16
00:01:06.433 --> 00:01:12.000
Equal final bits do not imply that the routes took equal work.

17
00:01:12.000 --> 00:01:12.008
The current pair API represents one live row variable
and one live column variable with four output bits.

18
00:01:12.308 --> 00:01:18.012
Structural composition combines recognized small tables using supported rules.

19
00:01:18.012 --> 00:01:23.229
Retabulation evaluates the four pair assignments when that route is allowed.

20
00:01:23.229 --> 00:01:30.973
If no eligible pair representation can be built, fallback uses the ordinary evaluator.

21
00:01:31.273 --> 00:01:37.882
For and, true-first A B order gives four outputs: one, zero, zero, zero.

22
00:01:37.882 --> 00:01:39.847
Those are the pair result.

23
00:01:39.847 --> 00:01:45.722
They do not by themselves say how much work the construction route performed.

24
00:01:46.022 --> 00:01:51.273
Suppose the requested display also includes C, although the rule ignores C.

25
00:01:51.273 --> 00:01:55.653
For A B one one, both values of C give one.

26
00:01:55.653 --> 00:02:00.266
For each other A B pair, both values of C give zero.

27
00:02:00.266 --> 00:02:07.442
Expanding the pair into that display repeats entries; it does not create new dependence.

28
00:02:07.442 --> 00:02:15.634
The current pair API represents one live row variable
and one live column variable with four output bits.

29
00:02:15.634 --> 00:02:18.434
It distinguishes pure structural composition,

30
00:02:18.434 --> 00:02:25.934
a hybrid that may retabulate a subtree, explicit
whole-root retabulation, and ordinary fallback.

31
00:02:25.934 --> 00:02:31.501
Take A AND NOT B with A on rows and B on columns.

32
00:02:31.501 --> 00:02:36.067
In true-first order, the pattern is 0100.

33
00:02:36.067 --> 00:02:42.067
Structural token compilation accounts for B's sign in the common A-B frame.

34
00:02:42.067 --> 00:02:49.167
Under the pure-structural strategy it must construct
a supported token without a truth-table fallback.

35
00:02:49.167 --> 00:02:54.567
Under retabulation it explicitly evaluates all 4 cases.

36
00:02:54.567 --> 00:02:58.667
Those routes can agree on bits while doing different work.

37
00:02:58.667 --> 00:03:04.401
For the full four-input rule, fix C to zero and D to one.

38
00:03:04.401 --> 00:03:11.034
The result is NOT of A AND B, pattern 0111 in true-first order.

39
00:03:11.034 --> 00:03:16.467
The token-only artifact and a lifted dense output remain separate.

40
00:03:16.467 --> 00:03:23.567
If the pair compiler returns no token, the array API uses its ordinary fallback.

41
00:03:23.867 --> 00:03:28.967
Work a second complete case with A 1, B 1, C 1, D 0.

42
00:03:28.967 --> 00:03:32.167
Keep this assignment fixed throughout the calculation.

43
00:03:32.167 --> 00:03:36.101
Each symbol retains the meaning already introduced; a new value does not

44
00:03:36.101 --> 00:03:39.067
create a new logical rule.

45
00:03:39.067 --> 00:03:41.667
The A and B branch gives one.

46
00:03:41.667 --> 00:03:47.434
The fixed C or D branch also gives one, so the final exclusive-or is zero.

47
00:03:47.434 --> 00:03:52.067
Under this restriction the pair function is not and, but its complement.

48
00:03:52.067 --> 00:03:57.867
Its true-true entry must therefore be zero in the small representation.

49
00:03:57.867 --> 00:04:01.367
This case establishes a specific contrast.

50
00:04:01.367 --> 00:04:04.301
Fixed values change the pair function.

51
00:04:04.301 --> 00:04:07.501
The construction context must be preserved.

52
00:04:07.501 --> 00:04:11.634
Keep the input, intermediate values, and conclusion together when comparing

53
00:04:11.634 --> 00:04:13.801
it with the previous case.

54
00:04:13.801 --> 00:04:20.134
The calculated answer belongs to this complete assignment under the stated rule.

55
00:04:20.434 --> 00:04:23.767
Start from the four-input rule used earlier.

56
00:04:23.767 --> 00:04:26.301
Fix C and D to zero.

57
00:04:26.301 --> 00:04:31.301
This is an explicit restriction to a two-input slice, not a claim that the original rule

58
00:04:31.301 --> 00:04:34.634
always ignores C and D.

59
00:04:34.634 --> 00:04:37.467
The fixed or branch becomes zero.

60
00:04:37.467 --> 00:04:42.201
Exclusive-or with zero preserves the other branch, leaving A and B.

61
00:04:42.201 --> 00:04:46.201
The resulting two-input function can be described by the four and entries

62
00:04:46.201 --> 00:04:48.934
in the declared order.

63
00:04:48.934 --> 00:04:53.567
For C one and D zero, the or branch becomes one instead.

64
00:04:53.567 --> 00:04:57.434
Exclusive-or with one complements A and B.

65
00:04:57.434 --> 00:05:01.734
The two restrictions produce different pair functions, so the fixed values

66
00:05:01.734 --> 00:05:04.567
belong to the construction context.

67
00:05:04.567 --> 00:05:09.567
Unsupported structure must use an eligible fallback rather than being forced into an

68
00:05:09.567 --> 00:05:14.101
unjustified small-token interpretation.

69
00:05:14.134 --> 00:05:19.701
Report structural composition, retabulation, and fallback separately.

70
00:05:19.701 --> 00:05:24.901
Keep the token artifact distinct from a lifted dense output.
