227
λ λ λ

Qlambda

Embed Size (px)

DESCRIPTION

Presentación sobre Qbits y ordenadores cuánticos.

Citation preview

Page 1: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

λ-Cálculo Cuántico(de André van Tonder [vT04])

Alejandro Díaz-Caro

Departamento de Ciencias de la ComputaciónFacultad de Ciencias Exactas, Ingeniería y Agrimensura

Universidad Nacional de Rosario

16 de junio de 2007

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 2: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Contenido de la presentación

1 IntroducciónContenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

2 λ-Cálculo CuánticoPrimer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λqEjemplos

3 Conclusión

4 Bibliografía

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 3: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Motivación

Actualmente existen dos modelos equivalentes[Yao93]predominantes para �pensar� la computación cuántica:

Máquinas de Turing Cuánticas[Ben80][Deu85]

Circuitos Cuánticos[Deu89]

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 4: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Las Máquinas de Turing Cuánticas proveen un modelo para de�nirla universalidad de la Computación Cuántica, pero razonar sobreellas es un proceso bastante complicado. Por ese motivo loscircuitos cuánticos son más populares: proveen una visión grá�ca ycomposicional de los algoritmos y pueden ser manipuladosalgebraicamente. Pero ningún circuito cuántico �nito puede seruniversal.

En Computación Clásica, el λ-Cálculo provee un modelo alternativo,equivalente a las Máquinas de Turing, y es de gran utilidad en lateoría de la computación y el estudio de lenguajes y sus semánticas.

La idea es proveer a la Computación Cuántica de una herramientaequivalente.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 5: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Las Máquinas de Turing Cuánticas proveen un modelo para de�nirla universalidad de la Computación Cuántica, pero razonar sobreellas es un proceso bastante complicado. Por ese motivo loscircuitos cuánticos son más populares: proveen una visión grá�ca ycomposicional de los algoritmos y pueden ser manipuladosalgebraicamente. Pero ningún circuito cuántico �nito puede seruniversal.

En Computación Clásica, el λ-Cálculo provee un modelo alternativo,equivalente a las Máquinas de Turing, y es de gran utilidad en lateoría de la computación y el estudio de lenguajes y sus semánticas.

La idea es proveer a la Computación Cuántica de una herramientaequivalente.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 6: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Las Máquinas de Turing Cuánticas proveen un modelo para de�nirla universalidad de la Computación Cuántica, pero razonar sobreellas es un proceso bastante complicado. Por ese motivo loscircuitos cuánticos son más populares: proveen una visión grá�ca ycomposicional de los algoritmos y pueden ser manipuladosalgebraicamente. Pero ningún circuito cuántico �nito puede seruniversal.

En Computación Clásica, el λ-Cálculo provee un modelo alternativo,equivalente a las Máquinas de Turing, y es de gran utilidad en lateoría de la computación y el estudio de lenguajes y sus semánticas.

La idea es proveer a la Computación Cuántica de una herramientaequivalente.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 7: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Las Máquinas de Turing Cuánticas proveen un modelo para de�nirla universalidad de la Computación Cuántica, pero razonar sobreellas es un proceso bastante complicado. Por ese motivo loscircuitos cuánticos son más populares: proveen una visión grá�ca ycomposicional de los algoritmos y pueden ser manipuladosalgebraicamente. Pero ningún circuito cuántico �nito puede seruniversal.

En Computación Clásica, el λ-Cálculo provee un modelo alternativo,equivalente a las Máquinas de Turing, y es de gran utilidad en lateoría de la computación y el estudio de lenguajes y sus semánticas.

La idea es proveer a la Computación Cuántica de una herramientaequivalente.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 8: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Computación Cuántica (Physics-free)Qubits

La Computación Cuántica es un modelo de computación basado enla Mecánica Cuántica.

Su unidad básica es el �Qubit�

De�nición

Un qubit es un vector de dos dimensiones de la siguiente forma(α

β

)con α, β ∈ C y |α|2 + |β|2 = 1. Esto forma un Espacio Vectorial

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 9: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Computación Cuántica (Physics-free)Qubits

La Computación Cuántica es un modelo de computación basado enla Mecánica Cuántica.Su unidad básica es el �Qubit�

De�nición

Un qubit es un vector de dos dimensiones de la siguiente forma(α

β

)con α, β ∈ C y |α|2 + |β|2 = 1. Esto forma un Espacio Vectorial

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 10: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Una base del espacio vectorial de un qubit es{(10

),

(01

)}

A estos vectores los notamos de la siguiente manera

|0〉 =

(10

), |1〉 =

(01

)Entonces, un qubit queda de�nido por

α |0〉+ β |1〉 = α

(10

)+ β

(01

)=

β

)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 11: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Una base del espacio vectorial de un qubit es{(10

),

(01

)}A estos vectores los notamos de la siguiente manera

|0〉 =

(10

), |1〉 =

(01

)

Entonces, un qubit queda de�nido por

α |0〉+ β |1〉 = α

(10

)+ β

(01

)=

β

)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 12: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Una base del espacio vectorial de un qubit es{(10

),

(01

)}A estos vectores los notamos de la siguiente manera

|0〉 =

(10

), |1〉 =

(01

)Entonces, un qubit queda de�nido por

α |0〉+ β |1〉

= α

(10

)+ β

(01

)=

β

)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 13: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Una base del espacio vectorial de un qubit es{(10

),

(01

)}A estos vectores los notamos de la siguiente manera

|0〉 =

(10

), |1〉 =

(01

)Entonces, un qubit queda de�nido por

α |0〉+ β |1〉 = α

(10

)+ β

(01

)

=

β

)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 14: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Una base del espacio vectorial de un qubit es{(10

),

(01

)}A estos vectores los notamos de la siguiente manera

|0〉 =

(10

), |1〉 =

(01

)Entonces, un qubit queda de�nido por

α |0〉+ β |1〉 = α

(10

)+ β

(01

)=

β

)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 15: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Para un sistema de n-qubits tendremos el espacio vectorial dedimensión 2n generado por la base

10...0

,

01...0

, . . . ,

00...1

y a esos n-qubits los notamos de dos maneras alternativas:

|i1, . . . , in〉 con ik ∈ {0, 1}o

|i〉 con i ∈ {0, . . . 2n−1}

Entonces un n-qubit queda de�nido por

2n−1∑k=0

αk |k〉 tal que

2n−1∑k=0

|αk |2 = 1

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 16: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Para un sistema de n-qubits tendremos el espacio vectorial dedimensión 2n generado por la base

10...0

,

01...0

, . . . ,

00...1

y a esos n-qubits los notamos de dos maneras alternativas:

|i1, . . . , in〉 con ik ∈ {0, 1}o

|i〉 con i ∈ {0, . . . 2n−1}

Entonces un n-qubit queda de�nido por

2n−1∑k=0

αk |k〉 tal que

2n−1∑k=0

|αk |2 = 1

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 17: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Para un sistema de n-qubits tendremos el espacio vectorial dedimensión 2n generado por la base

10...0

,

01...0

, . . . ,

00...1

y a esos n-qubits los notamos de dos maneras alternativas:

|i1, . . . , in〉 con ik ∈ {0, 1}

o|i〉 con i ∈ {0, . . . 2n−1}

Entonces un n-qubit queda de�nido por

2n−1∑k=0

αk |k〉 tal que

2n−1∑k=0

|αk |2 = 1

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 18: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Para un sistema de n-qubits tendremos el espacio vectorial dedimensión 2n generado por la base

10...0

,

01...0

, . . . ,

00...1

y a esos n-qubits los notamos de dos maneras alternativas:

|i1, . . . , in〉 con ik ∈ {0, 1}o

|i〉 con i ∈ {0, . . . 2n−1}

Entonces un n-qubit queda de�nido por

2n−1∑k=0

αk |k〉 tal que

2n−1∑k=0

|αk |2 = 1

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 19: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Para un sistema de n-qubits tendremos el espacio vectorial dedimensión 2n generado por la base

10...0

,

01...0

, . . . ,

00...1

y a esos n-qubits los notamos de dos maneras alternativas:

|i1, . . . , in〉 con ik ∈ {0, 1}o

|i〉 con i ∈ {0, . . . 2n−1}

Entonces un n-qubit queda de�nido por

2n−1∑k=0

αk |k〉 tal que

2n−1∑k=0

|αk |2 = 1

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 20: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Computación Cuántica (Physics-free)Compuertas

Las compuertas cuánticas son matrices que satisfacen determinadaspropiedades (básicamente, propiedades que hacen que la matriz�aplicada a� (multiplicada por) los qubits nos devuelvan qubits).

Ejemplo

Compuerta NOT

X =

(0 11 0

)X |0〉 = X

(10

)=

(01

)= |1〉

X |1〉 = X(01

)=

(10

)= |0〉

Ejemplo

Compuerta Hadamard

H =1√2

(1 11 −1

)H |0〉 = 1√

2(|0〉+ |1〉)

H |1〉 = 1√2(|0〉 − |1〉)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 21: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Computación Cuántica (Physics-free)Compuertas

Las compuertas cuánticas son matrices que satisfacen determinadaspropiedades (básicamente, propiedades que hacen que la matriz�aplicada a� (multiplicada por) los qubits nos devuelvan qubits).

Ejemplo

Compuerta NOT

X =

(0 11 0

)X |0〉 = X

(10

)=

(01

)= |1〉

X |1〉 = X(01

)=

(10

)= |0〉

Ejemplo

Compuerta Hadamard

H =1√2

(1 11 −1

)H |0〉 = 1√

2(|0〉+ |1〉)

H |1〉 = 1√2(|0〉 − |1〉)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 22: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Computación Cuántica (Physics-free)Compuertas

Las compuertas cuánticas son matrices que satisfacen determinadaspropiedades (básicamente, propiedades que hacen que la matriz�aplicada a� (multiplicada por) los qubits nos devuelvan qubits).

Ejemplo

Compuerta NOT

X =

(0 11 0

)X |0〉 = X

(10

)=

(01

)= |1〉

X |1〉 = X(01

)=

(10

)= |0〉

Ejemplo

Compuerta Hadamard

H =1√2

(1 11 −1

)H |0〉 = 1√

2(|0〉+ |1〉)

H |1〉 = 1√2(|0〉 − |1〉)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 23: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Ejemplo

Compuerta CNOT

CNOT =

(I 00 X

)CNOT |00〉 = |00〉CNOT |01〉 = |01〉CNOT |10〉 = |11〉CNOT |11〉 = |10〉

La aplicación de una compuerta cuántica a cualquier qubit es unaaplicación lineal

U

2n−1∑i=0

αi |i〉 =2n−1∑i=0

αiU |i〉

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 24: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Ejemplo

Compuerta CNOT

CNOT =

(I 00 X

)CNOT |00〉 = |00〉CNOT |01〉 = |01〉CNOT |10〉 = |11〉CNOT |11〉 = |10〉

La aplicación de una compuerta cuántica a cualquier qubit es unaaplicación lineal

U

2n−1∑i=0

αi |i〉

=2n−1∑i=0

αiU |i〉

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 25: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Ejemplo

Compuerta CNOT

CNOT =

(I 00 X

)CNOT |00〉 = |00〉CNOT |01〉 = |01〉CNOT |10〉 = |11〉CNOT |11〉 = |10〉

La aplicación de una compuerta cuántica a cualquier qubit es unaaplicación lineal

U

2n−1∑i=0

αi |i〉 =2n−1∑i=0

αiU |i〉

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 26: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Por lo tanto, especi�cando cómo actúa la compuerta en la base delespacio de qubits, ya se ha especi�cado todo lo necesario.

Ejemplo

Z |0〉 = |0〉Z |1〉 = − |1〉

EntoncesZ (α |0〉+ β |1〉) = α |0〉 − β |1〉

Obs Todas las compuertascuánticas son reversibles ycoinciden con su inversa,entonces, aplicando dos vecesuna compuerta, se vuelve alestado original.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 27: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Por lo tanto, especi�cando cómo actúa la compuerta en la base delespacio de qubits, ya se ha especi�cado todo lo necesario.

Ejemplo

Z |0〉 = |0〉Z |1〉 = − |1〉

EntoncesZ (α |0〉+ β |1〉) = α |0〉 − β |1〉

Obs Todas las compuertascuánticas son reversibles ycoinciden con su inversa,entonces, aplicando dos vecesuna compuerta, se vuelve alestado original.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 28: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Por lo tanto, especi�cando cómo actúa la compuerta en la base delespacio de qubits, ya se ha especi�cado todo lo necesario.

Ejemplo

Z |0〉 = |0〉Z |1〉 = − |1〉

EntoncesZ (α |0〉+ β |1〉) = α |0〉 − β |1〉

Obs Todas las compuertascuánticas son reversibles ycoinciden con su inversa,entonces, aplicando dos vecesuna compuerta, se vuelve alestado original.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 29: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Computación Cuántica (Physics-free)Medición

Al medir un n-qubits∑2n−1

i=0 αi |i〉 respecto a la base {|i〉}2n−1

i=0 delespacio de n-qubits, obtendré un vector |k〉 de dicha base conprobabilidad |αk |2.

Ejemplo

Al medir el qubit 1√2(|0〉+ |1〉) obtendré |0〉 ó |1〉 con probabilidad

12 cada uno.

Obs Un algoritmo cuántico se basa en hacer evolucionar un sistemade n-qubits mediante la aplicación de compuertas y mediciones.Debido a la reversibilidad de las compuertas, los algoritmos sonreversibles (excepto en la medición).

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 30: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Computación Cuántica (Physics-free)Medición

Al medir un n-qubits∑2n−1

i=0 αi |i〉 respecto a la base {|i〉}2n−1

i=0 delespacio de n-qubits, obtendré un vector |k〉 de dicha base conprobabilidad |αk |2.

Ejemplo

Al medir el qubit 1√2(|0〉+ |1〉) obtendré |0〉 ó |1〉 con probabilidad

12 cada uno.

Obs Un algoritmo cuántico se basa en hacer evolucionar un sistemade n-qubits mediante la aplicación de compuertas y mediciones.Debido a la reversibilidad de las compuertas, los algoritmos sonreversibles (excepto en la medición).

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 31: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Computación Cuántica (Physics-free)Medición

Al medir un n-qubits∑2n−1

i=0 αi |i〉 respecto a la base {|i〉}2n−1

i=0 delespacio de n-qubits, obtendré un vector |k〉 de dicha base conprobabilidad |αk |2.

Ejemplo

Al medir el qubit 1√2(|0〉+ |1〉) obtendré |0〉 ó |1〉 con probabilidad

12 cada uno.

Obs Un algoritmo cuántico se basa en hacer evolucionar un sistemade n-qubits mediante la aplicación de compuertas y mediciones.Debido a la reversibilidad de las compuertas, los algoritmos sonreversibles (excepto en la medición).

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 32: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Computación Cuántica (Physics-free)Circuitos

Un circuito cuántico es la representación grá�ca de un algoritmocuántico.

Ejemplo

Dado |00〉, aplicar H al primer qubit y luego un CNOT entre elprimero y el segundo.

|0〉 H •

|0〉 ��������

|00〉 H(1)−→

1√2(|0〉+ |1〉) |0〉

= 1√2(|00〉+ |10〉)

CNOT (1,2)−→

1√2(|00〉+ |11〉)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 33: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Computación Cuántica (Physics-free)Circuitos

Un circuito cuántico es la representación grá�ca de un algoritmocuántico.

Ejemplo

Dado |00〉, aplicar H al primer qubit y luego un CNOT entre elprimero y el segundo.

|0〉 H •

|0〉 ��������

|00〉 H(1)−→

1√2(|0〉+ |1〉) |0〉

= 1√2(|00〉+ |10〉)

CNOT (1,2)−→

1√2(|00〉+ |11〉)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 34: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Computación Cuántica (Physics-free)Circuitos

Un circuito cuántico es la representación grá�ca de un algoritmocuántico.

Ejemplo

Dado |00〉, aplicar H al primer qubit y luego un CNOT entre elprimero y el segundo.

|0〉 H •

|0〉 ��������

|00〉 H(1)−→

1√2(|0〉+ |1〉) |0〉

= 1√2(|00〉+ |10〉)

CNOT (1,2)−→

1√2(|00〉+ |11〉)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 35: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Computación Cuántica (Physics-free)Circuitos

Un circuito cuántico es la representación grá�ca de un algoritmocuántico.

Ejemplo

Dado |00〉, aplicar H al primer qubit y luego un CNOT entre elprimero y el segundo.

|0〉 H •

|0〉 ��������

|00〉 H(1)−→

1√2(|0〉+ |1〉) |0〉

= 1√2(|00〉+ |10〉)

CNOT (1,2)−→

1√2(|00〉+ |11〉)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 36: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Computación Cuántica (Physics-free)Circuitos

Un circuito cuántico es la representación grá�ca de un algoritmocuántico.

Ejemplo

Dado |00〉, aplicar H al primer qubit y luego un CNOT entre elprimero y el segundo.

|0〉 H •

|0〉 ��������

|00〉 H(1)−→

1√2(|0〉+ |1〉) |0〉

= 1√2(|00〉+ |10〉)

CNOT (1,2)−→

1√2(|00〉+ |11〉)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 37: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Computación Cuántica (Physics-free)Circuitos

Un circuito cuántico es la representación grá�ca de un algoritmocuántico.

Ejemplo

Dado |00〉, aplicar H al primer qubit y luego un CNOT entre elprimero y el segundo.

|0〉 H •

|0〉 ��������

|00〉 H(1)−→

1√2(|0〉+ |1〉) |0〉

= 1√2(|00〉+ |10〉)

CNOT (1,2)−→

1√2(|00〉+ |11〉)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 38: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Computación Cuántica (Physics-free)Circuitos

Un circuito cuántico es la representación grá�ca de un algoritmocuántico.

Ejemplo

Dado |00〉, aplicar H al primer qubit y luego un CNOT entre elprimero y el segundo.

|0〉 H •

|0〉 ��������

|00〉 H(1)−→

1√2(|0〉+ |1〉) |0〉

= 1√2(|00〉+ |10〉)

CNOT (1,2)−→

1√2(|00〉+ |11〉)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 39: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Computación Cuántica (Physics-free)Circuitos

Un circuito cuántico es la representación grá�ca de un algoritmocuántico.

Ejemplo

Dado |00〉, aplicar H al primer qubit y luego un CNOT entre elprimero y el segundo.

|0〉 H •

|0〉 ��������

|00〉 H(1)−→

1√2(|0〉+ |1〉) |0〉

= 1√2(|00〉+ |10〉)

CNOT (1,2)−→

1√2(|00〉+ |11〉)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 40: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Computación Cuántica (Physics-free)Entanglement

En el ejemplo anterior, hemos producido un estado entangled, loscuales son estados en que no puedo separar los qubits.

Ejemplo

No entangled

1√2(|00〉+ |10〉)

=1√2(|0〉+ |1〉)︸ ︷︷ ︸1er qubit

|0〉︸︷︷︸2do qubit

Ejemplo

Entangled

1√2(|00〉+ |11〉)

No los puedo separar!

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 41: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Computación Cuántica (Physics-free)Entanglement

En el ejemplo anterior, hemos producido un estado entangled, loscuales son estados en que no puedo separar los qubits.

Ejemplo

No entangled

1√2(|00〉+ |10〉)

=1√2(|0〉+ |1〉)︸ ︷︷ ︸1er qubit

|0〉︸︷︷︸2do qubit

Ejemplo

Entangled

1√2(|00〉+ |11〉)

No los puedo separar!

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 42: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Computación Cuántica (Physics-free)Entanglement

En el ejemplo anterior, hemos producido un estado entangled, loscuales son estados en que no puedo separar los qubits.

Ejemplo

No entangled

1√2(|00〉+ |10〉)

=1√2(|0〉+ |1〉)︸ ︷︷ ︸1er qubit

|0〉︸︷︷︸2do qubit

Ejemplo

Entangled

1√2(|00〉+ |11〉)

No los puedo separar!

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 43: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Computación Cuántica (Physics-free)Entanglement

En el ejemplo anterior, hemos producido un estado entangled, loscuales son estados en que no puedo separar los qubits.

Ejemplo

No entangled

1√2(|00〉+ |10〉)

=1√2(|0〉+ |1〉)︸ ︷︷ ︸1er qubit

|0〉︸︷︷︸2do qubit

Ejemplo

Entangled

1√2(|00〉+ |11〉)

No los puedo separar!

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 44: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Continuando con la Motivación...

Circuito cuántico

|0〉 HUf

H FE |1〉 H

En Lambda Cálculo Cuántico se podría escribir así:

Deutsch

deutsch Uf ≡ let (x , y) = Uf ((H 0), (H 1)) in((H x), y)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 45: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Continuando con la Motivación...

Circuito cuántico

|0〉 HUf

H FE |1〉 H

En Lambda Cálculo Cuántico se podría escribir así:

Deutsch

deutsch Uf ≡ let (x , y) = Uf ((H 0), (H 1)) in((H x), y)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 46: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Contenido de la presentaciónMotivaciónComputación CuánticaMotivación... (cont)

Continuando con la Motivación...

Circuito cuántico

|0〉 HUf

H FE |1〉 H

En Lambda Cálculo Cuántico se podría escribir así:

Deutsch

deutsch Uf ≡ let (x , y) = Uf ((H 0), (H 1)) in((H x), y)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 47: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Primer IntentoPresentación

En lambda cálculo clásico, las β-reducciones descartaninformación en cada paso, haciendo el proceso irreversible.

Cualquier cómputo clásico se puede transformar en uncómputo reversible[Abr93]

Podríamos tener reversibilidad de la siguiente manera:Sea x un término y β : x → β(x) una β-reducción. Entoncesconsideremos la función x → (x , β(x)), la cual es invertible.

En una versión simple, el cómputo procede de la siguiente manerax → (x , β(x)) → (x , β(x), β2(x)) → (x , β(x), β2(x), β3(x)) → . . .Aunque éste método podría funcionar para implementarreversibilidad, veremos que no funciona en el caso cuántico sinhacerle algunas modi�caciones.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 48: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Primer IntentoPresentación

En lambda cálculo clásico, las β-reducciones descartaninformación en cada paso, haciendo el proceso irreversible.Cualquier cómputo clásico se puede transformar en uncómputo reversible[Abr93]

Podríamos tener reversibilidad de la siguiente manera:Sea x un término y β : x → β(x) una β-reducción. Entoncesconsideremos la función x → (x , β(x)), la cual es invertible.

En una versión simple, el cómputo procede de la siguiente manerax → (x , β(x)) → (x , β(x), β2(x)) → (x , β(x), β2(x), β3(x)) → . . .Aunque éste método podría funcionar para implementarreversibilidad, veremos que no funciona en el caso cuántico sinhacerle algunas modi�caciones.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 49: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Primer IntentoPresentación

En lambda cálculo clásico, las β-reducciones descartaninformación en cada paso, haciendo el proceso irreversible.Cualquier cómputo clásico se puede transformar en uncómputo reversible[Abr93]

Podríamos tener reversibilidad de la siguiente manera:Sea x un término y β : x → β(x) una β-reducción. Entoncesconsideremos la función x → (x , β(x)), la cual es invertible.

En una versión simple, el cómputo procede de la siguiente manerax → (x , β(x)) → (x , β(x), β2(x)) → (x , β(x), β2(x), β3(x)) → . . .Aunque éste método podría funcionar para implementarreversibilidad, veremos que no funciona en el caso cuántico sinhacerle algunas modi�caciones.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 50: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Primer IntentoPresentación

En lambda cálculo clásico, las β-reducciones descartaninformación en cada paso, haciendo el proceso irreversible.Cualquier cómputo clásico se puede transformar en uncómputo reversible[Abr93]

Podríamos tener reversibilidad de la siguiente manera:Sea x un término y β : x → β(x) una β-reducción. Entoncesconsideremos la función x → (x , β(x)), la cual es invertible.

En una versión simple, el cómputo procede de la siguiente manerax → (x , β(x)) → (x , β(x), β2(x)) → (x , β(x), β2(x), β3(x)) → . . .

Aunque éste método podría funcionar para implementarreversibilidad, veremos que no funciona en el caso cuántico sinhacerle algunas modi�caciones.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 51: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Primer IntentoPresentación

En lambda cálculo clásico, las β-reducciones descartaninformación en cada paso, haciendo el proceso irreversible.Cualquier cómputo clásico se puede transformar en uncómputo reversible[Abr93]

Podríamos tener reversibilidad de la siguiente manera:Sea x un término y β : x → β(x) una β-reducción. Entoncesconsideremos la función x → (x , β(x)), la cual es invertible.

En una versión simple, el cómputo procede de la siguiente manerax → (x , β(x)) → (x , β(x), β2(x)) → (x , β(x), β2(x), β3(x)) → . . .Aunque éste método podría funcionar para implementarreversibilidad, veremos que no funciona en el caso cuántico sinhacerle algunas modi�caciones.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 52: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Sintaxis para el primer intento

t ::= término

x variable

(λx .t) abstracción

(t t) aplicación

c constante

c ::=0|1|H|cnot|X |Z | . . . constantes

0 y 1 son primitivas.El resto de las constantes denotan compuertas elementales entrequbits.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 53: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ahora le permitimos al estado de un cómputo ser una superposicióncuántica de términos en este lenguaje.

Consideremos un estado inicial como el siguiente string: |(H 0)〉Quisiéramos elegir reglas de transición tales que este estado evalúeuna compuerta Hadamard aplicada a |0〉.

Una regla de transicióncandidata podría ser:

|(H 0)〉 → 1√2(|0〉+ |1〉)

|(H 1)〉 → 1√2(|0〉 − |1〉)

Y usamos el truco para hacerlo reversible:

|(H 0)〉 → 1√2(|(H 0); 0〉+ |(H 0); 1〉)

= |(H 0)〉 ⊗ 1√2(|0〉+ |1〉)

El �;� denota la concatenación de strings. El resultado se hafactorizado a la derecha.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 54: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ahora le permitimos al estado de un cómputo ser una superposicióncuántica de términos en este lenguaje.Consideremos un estado inicial como el siguiente string: |(H 0)〉

Quisiéramos elegir reglas de transición tales que este estado evalúeuna compuerta Hadamard aplicada a |0〉.

Una regla de transicióncandidata podría ser:

|(H 0)〉 → 1√2(|0〉+ |1〉)

|(H 1)〉 → 1√2(|0〉 − |1〉)

Y usamos el truco para hacerlo reversible:

|(H 0)〉 → 1√2(|(H 0); 0〉+ |(H 0); 1〉)

= |(H 0)〉 ⊗ 1√2(|0〉+ |1〉)

El �;� denota la concatenación de strings. El resultado se hafactorizado a la derecha.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 55: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ahora le permitimos al estado de un cómputo ser una superposicióncuántica de términos en este lenguaje.Consideremos un estado inicial como el siguiente string: |(H 0)〉Quisiéramos elegir reglas de transición tales que este estado evalúeuna compuerta Hadamard aplicada a |0〉.

Una regla de transicióncandidata podría ser:

|(H 0)〉 → 1√2(|0〉+ |1〉)

|(H 1)〉 → 1√2(|0〉 − |1〉)

Y usamos el truco para hacerlo reversible:

|(H 0)〉 → 1√2(|(H 0); 0〉+ |(H 0); 1〉)

= |(H 0)〉 ⊗ 1√2(|0〉+ |1〉)

El �;� denota la concatenación de strings. El resultado se hafactorizado a la derecha.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 56: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ahora le permitimos al estado de un cómputo ser una superposicióncuántica de términos en este lenguaje.Consideremos un estado inicial como el siguiente string: |(H 0)〉Quisiéramos elegir reglas de transición tales que este estado evalúeuna compuerta Hadamard aplicada a |0〉.

Una regla de transicióncandidata podría ser:

|(H 0)〉 → 1√2(|0〉+ |1〉)

|(H 1)〉 → 1√2(|0〉 − |1〉)

Y usamos el truco para hacerlo reversible:

|(H 0)〉 → 1√2(|(H 0); 0〉+ |(H 0); 1〉)

= |(H 0)〉 ⊗ 1√2(|0〉+ |1〉)

El �;� denota la concatenación de strings. El resultado se hafactorizado a la derecha.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 57: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ahora le permitimos al estado de un cómputo ser una superposicióncuántica de términos en este lenguaje.Consideremos un estado inicial como el siguiente string: |(H 0)〉Quisiéramos elegir reglas de transición tales que este estado evalúeuna compuerta Hadamard aplicada a |0〉.

Una regla de transicióncandidata podría ser:

|(H 0)〉 → 1√2(|0〉+ |1〉)

|(H 1)〉 → 1√2(|0〉 − |1〉)

Y usamos el truco para hacerlo reversible:

|(H 0)〉 → 1√2(|(H 0); 0〉+ |(H 0); 1〉)

= |(H 0)〉 ⊗ 1√2(|0〉+ |1〉)

El �;� denota la concatenación de strings. El resultado se hafactorizado a la derecha.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 58: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Primer IntentoProblemas

Ejemplo

|(H(H 0))〉

→ 1√2(|H(H 0); (H 0)〉+ |H(H 0); (H 1)〉

→ 12|(H(H 0))〉 ⊗ (|(H 0); 0〉+ |(H 0); 1〉+ |(H 1); 0〉 − |(H 1); 1〉)

Aquí no puedo factorizar el resultado ya que quedó en entangledcon el término intermedio del historialEste método está guardando más información de la necesaria paralograr reversibilidad.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 59: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Primer IntentoProblemas

Ejemplo

|(H(H 0))〉 → 1√2(|H(H 0); (H 0)〉+ |H(H 0); (H 1)〉

→ 12|(H(H 0))〉 ⊗ (|(H 0); 0〉+ |(H 0); 1〉+ |(H 1); 0〉 − |(H 1); 1〉)

Aquí no puedo factorizar el resultado ya que quedó en entangledcon el término intermedio del historialEste método está guardando más información de la necesaria paralograr reversibilidad.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 60: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Primer IntentoProblemas

Ejemplo

|(H(H 0))〉 → 1√2(|H(H 0); (H 0)〉+ |H(H 0); (H 1)〉

→ 12|(H(H 0))〉 ⊗ (|(H 0); 0〉+ |(H 0); 1〉+ |(H 1); 0〉 − |(H 1); 1〉)

Aquí no puedo factorizar el resultado ya que quedó en entangledcon el término intermedio del historialEste método está guardando más información de la necesaria paralograr reversibilidad.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 61: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Primer IntentoProblemas

Ejemplo

|(H(H 0))〉 → 1√2(|H(H 0); (H 0)〉+ |H(H 0); (H 1)〉

→ 12|(H(H 0))〉 ⊗ (|(H 0); 0〉+ |(H 0); 1〉+ |(H 1); 0〉 − |(H 1); 1〉)

Aquí no puedo factorizar el resultado ya que quedó en entangledcon el término intermedio del historial

Este método está guardando más información de la necesaria paralograr reversibilidad.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 62: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Primer IntentoProblemas

Ejemplo

|(H(H 0))〉 → 1√2(|H(H 0); (H 0)〉+ |H(H 0); (H 1)〉

→ 12|(H(H 0))〉 ⊗ (|(H 0); 0〉+ |(H 0); 1〉+ |(H 1); 0〉 − |(H 1); 1〉)

Aquí no puedo factorizar el resultado ya que quedó en entangledcon el término intermedio del historialEste método está guardando más información de la necesaria paralograr reversibilidad.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 63: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Segundo intentoPresentación

Con sólo guardar en cada paso qué subtérmino se ha reducido y quéoperación se ha aplicado ya me bastaría.

Ejemplo

|(H(H 0))〉 → 1√2(|_(H _); (H 0)〉+ |_(H _); (H 1)〉

→ 12 |(_(H _))〉⊗(|(H _); 0〉+|(H _); 1〉+|(H _); 0〉−|(H _); 1〉)= 1

2 |(_(H _))〉 ⊗ 2 |(H _); 0〉 = |(_(H _)); (H _)〉 ⊗ |0〉

En cada paso reemplazamos los subtérminos que no necesitamospara la reversibilidad por el placeholder �_�.

Ahora formalicemos un poco ésto.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 64: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Segundo intentoPresentación

Con sólo guardar en cada paso qué subtérmino se ha reducido y quéoperación se ha aplicado ya me bastaría.

Ejemplo

|(H(H 0))〉

→ 1√2(|_(H _); (H 0)〉+ |_(H _); (H 1)〉

→ 12 |(_(H _))〉⊗(|(H _); 0〉+|(H _); 1〉+|(H _); 0〉−|(H _); 1〉)= 1

2 |(_(H _))〉 ⊗ 2 |(H _); 0〉 = |(_(H _)); (H _)〉 ⊗ |0〉

En cada paso reemplazamos los subtérminos que no necesitamospara la reversibilidad por el placeholder �_�.

Ahora formalicemos un poco ésto.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 65: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Segundo intentoPresentación

Con sólo guardar en cada paso qué subtérmino se ha reducido y quéoperación se ha aplicado ya me bastaría.

Ejemplo

|(H(H 0))〉 → 1√2(|_(H _); (H 0)〉+ |_(H _); (H 1)〉

→ 12 |(_(H _))〉⊗(|(H _); 0〉+|(H _); 1〉+|(H _); 0〉−|(H _); 1〉)= 1

2 |(_(H _))〉 ⊗ 2 |(H _); 0〉 = |(_(H _)); (H _)〉 ⊗ |0〉

En cada paso reemplazamos los subtérminos que no necesitamospara la reversibilidad por el placeholder �_�.

Ahora formalicemos un poco ésto.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 66: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Segundo intentoPresentación

Con sólo guardar en cada paso qué subtérmino se ha reducido y quéoperación se ha aplicado ya me bastaría.

Ejemplo

|(H(H 0))〉 → 1√2(|_(H _); (H 0)〉+ |_(H _); (H 1)〉

→ 12 |(_(H _))〉⊗(|(H _); 0〉+|(H _); 1〉+|(H _); 0〉−|(H _); 1〉)

= 12 |(_(H _))〉 ⊗ 2 |(H _); 0〉 = |(_(H _)); (H _)〉 ⊗ |0〉

En cada paso reemplazamos los subtérminos que no necesitamospara la reversibilidad por el placeholder �_�.

Ahora formalicemos un poco ésto.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 67: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Segundo intentoPresentación

Con sólo guardar en cada paso qué subtérmino se ha reducido y quéoperación se ha aplicado ya me bastaría.

Ejemplo

|(H(H 0))〉 → 1√2(|_(H _); (H 0)〉+ |_(H _); (H 1)〉

→ 12 |(_(H _))〉⊗(|(H _); 0〉+|(H _); 1〉+|(H _); 0〉−|(H _); 1〉)= 1

2 |(_(H _))〉 ⊗ 2 |(H _); 0〉

= |(_(H _)); (H _)〉 ⊗ |0〉

En cada paso reemplazamos los subtérminos que no necesitamospara la reversibilidad por el placeholder �_�.

Ahora formalicemos un poco ésto.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 68: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Segundo intentoPresentación

Con sólo guardar en cada paso qué subtérmino se ha reducido y quéoperación se ha aplicado ya me bastaría.

Ejemplo

|(H(H 0))〉 → 1√2(|_(H _); (H 0)〉+ |_(H _); (H 1)〉

→ 12 |(_(H _))〉⊗(|(H _); 0〉+|(H _); 1〉+|(H _); 0〉−|(H _); 1〉)= 1

2 |(_(H _))〉 ⊗ 2 |(H _); 0〉 = |(_(H _)); (H _)〉 ⊗ |0〉

En cada paso reemplazamos los subtérminos que no necesitamospara la reversibilidad por el placeholder �_�.

Ahora formalicemos un poco ésto.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 69: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Segundo intentoPresentación

Con sólo guardar en cada paso qué subtérmino se ha reducido y quéoperación se ha aplicado ya me bastaría.

Ejemplo

|(H(H 0))〉 → 1√2(|_(H _); (H 0)〉+ |_(H _); (H 1)〉

→ 12 |(_(H _))〉⊗(|(H _); 0〉+|(H _); 1〉+|(H _); 0〉−|(H _); 1〉)= 1

2 |(_(H _))〉 ⊗ 2 |(H _); 0〉 = |(_(H _)); (H _)〉 ⊗ |0〉

En cada paso reemplazamos los subtérminos que no necesitamospara la reversibilidad por el placeholder �_�.

Ahora formalicemos un poco ésto.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 70: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Primero extendemos la de�nición de valores para incluir a lasconstantes

De�nición de valores del Segundo Intento

v ::= valores

x variable

c constante

(λx .t) valor de abstracción

El estado computacional se toma como una superposición cuánticade secuencias de la forma

h1; . . . ; hn; t

donde a h1; . . . ; hn se le llama historial y a t registro computacional.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 71: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Primero extendemos la de�nición de valores para incluir a lasconstantes

De�nición de valores del Segundo Intento

v ::= valores

x variable

c constante

(λx .t) valor de abstracción

El estado computacional se toma como una superposición cuánticade secuencias de la forma

h1; . . . ; hn; t

donde a h1; . . . ; hn se le llama historial y a t registro computacional.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 72: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Las reglas de transición son las siguientes

Reglas de transición del Segundo Intento

t1 → h1; t′1

H ; (t1 t2) → H ; (h1 _); (t ′1 t2)(APP1)

t2 → h2; t′2

H ; (v1 t2) → H ; (_ h2); (v1 t′2)

(APP2)

H denota el historial(puede estar vacío)

H ; ((λx .t) v) → H ; ((λx .tx);_); t[v/x ](β1) Si x ∈ F (t)

H ; ((λx .t) v) → H ; ((λx ._); v); t(β2) Si x /∈ F (t)

H ; t → H ;_; t(Id) en otro caso

Ver formalización

tx se obtiene de t reemplazando recursivamente todos lossubtérminos que no contienen x con el símbolo _ y manteniendo x .

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 73: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Las reglas de transición son las siguientes

Reglas de transición del Segundo Intento

t1 → h1; t′1

H ; (t1 t2) → H ; (h1 _); (t ′1 t2)(APP1)

t2 → h2; t′2

H ; (v1 t2) → H ; (_ h2); (v1 t′2)

(APP2)

H denota el historial(puede estar vacío)

H ; ((λx .t) v) → H ; ((λx .tx);_); t[v/x ](β1) Si x ∈ F (t)

H ; ((λx .t) v) → H ; ((λx ._); v); t(β2) Si x /∈ F (t)

H ; t → H ;_; t(Id) en otro caso

Ver formalización

tx se obtiene de t reemplazando recursivamente todos lossubtérminos que no contienen x con el símbolo _ y manteniendo x .

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 74: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Las reglas de transición son las siguientes

Reglas de transición del Segundo Intento

t1 → h1; t′1

H ; (t1 t2) → H ; (h1 _); (t ′1 t2)(APP1)

t2 → h2; t′2

H ; (v1 t2) → H ; (_ h2); (v1 t′2)

(APP2)

H denota el historial(puede estar vacío)

H ; ((λx .t) v) → H ; ((λx .tx);_); t[v/x ](β1) Si x ∈ F (t)

H ; ((λx .t) v) → H ; ((λx ._); v); t(β2) Si x /∈ F (t)

H ; t → H ;_; t(Id) en otro caso

Ver formalización

tx se obtiene de t reemplazando recursivamente todos lossubtérminos que no contienen x con el símbolo _ y manteniendo x .

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 75: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Las reglas de transición son las siguientes

Reglas de transición del Segundo Intento

t1 → h1; t′1

H ; (t1 t2) → H ; (h1 _); (t ′1 t2)(APP1)

t2 → h2; t′2

H ; (v1 t2) → H ; (_ h2); (v1 t′2)

(APP2)

H denota el historial(puede estar vacío)

H ; ((λx .t) v) → H ; ((λx .tx);_); t[v/x ](β1) Si x ∈ F (t)

H ; ((λx .t) v) → H ; ((λx ._); v); t(β2) Si x /∈ F (t)

H ; t → H ;_; t(Id) en otro caso

Ver formalización

tx se obtiene de t reemplazando recursivamente todos lossubtérminos que no contienen x con el símbolo _ y manteniendo x .

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 76: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Las reglas de transición son las siguientes

Reglas de transición del Segundo Intento

t1 → h1; t′1

H ; (t1 t2) → H ; (h1 _); (t ′1 t2)(APP1)

t2 → h2; t′2

H ; (v1 t2) → H ; (_ h2); (v1 t′2)

(APP2)

H denota el historial(puede estar vacío)

H ; ((λx .t) v) → H ; ((λx .tx);_); t[v/x ](β1) Si x ∈ F (t)

H ; ((λx .t) v) → H ; ((λx ._); v); t(β2) Si x /∈ F (t)

H ; t → H ;_; t(Id) en otro caso

Ver formalización

tx se obtiene de t reemplazando recursivamente todos lossubtérminos que no contienen x con el símbolo _ y manteniendo x .

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 77: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Las reglas de transición son las siguientes

Reglas de transición del Segundo Intento

t1 → h1; t′1

H ; (t1 t2) → H ; (h1 _); (t ′1 t2)(APP1)

t2 → h2; t′2

H ; (v1 t2) → H ; (_ h2); (v1 t′2)

(APP2)

H denota el historial(puede estar vacío)

H ; ((λx .t) v) → H ; ((λx .tx);_); t[v/x ](β1) Si x ∈ F (t)

H ; ((λx .t) v) → H ; ((λx ._); v); t(β2) Si x /∈ F (t)

H ; t → H ;_; t(Id) en otro caso

Ver formalización

tx se obtiene de t reemplazando recursivamente todos lossubtérminos que no contienen x con el símbolo _ y manteniendo x .

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 78: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ejemplo

|((apply id) cosa)〉

≡ |(((λf .(λx .(f x))) (λz .z)) cosa)〉→ |(((λf .(_.(f _)))_)_); (λx .((λz .z) x) cosa)〉→ |(((λf .(_.(f _)))_)_); (λx .(_ x)_); ((λz .z) cosa)〉→ |(((λf .(_.(f _)))_)_); (λx .(_ x)_); ((λz .z) _); cosa〉→ |(((λf .(_.(f _)))_)_); (λx .(_ x)_); ((λz .z) _);_; cosa〉→ . . .

En este ejemplo podemos usar como criterio de terminacióncomparar la última expresión con �_�, no tenemos un criterio determinación bien de�nido en λi ya que el estado podría tener unasuperposición de varios historiales, algunos de los cuales hayanterminado y otros no. Entonces �observando� podría cambiar elestado.Este problema será resuelto más adelante con el λq.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 79: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ejemplo

|((apply id) cosa)〉 ≡ |(((λf .(λx .(f x))) (λz .z)) cosa)〉

→ |(((λf .(_.(f _)))_)_); (λx .((λz .z) x) cosa)〉→ |(((λf .(_.(f _)))_)_); (λx .(_ x)_); ((λz .z) cosa)〉→ |(((λf .(_.(f _)))_)_); (λx .(_ x)_); ((λz .z) _); cosa〉→ |(((λf .(_.(f _)))_)_); (λx .(_ x)_); ((λz .z) _);_; cosa〉→ . . .

En este ejemplo podemos usar como criterio de terminacióncomparar la última expresión con �_�, no tenemos un criterio determinación bien de�nido en λi ya que el estado podría tener unasuperposición de varios historiales, algunos de los cuales hayanterminado y otros no. Entonces �observando� podría cambiar elestado.Este problema será resuelto más adelante con el λq.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 80: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ejemplo

|((apply id) cosa)〉 ≡ |(((λf .(λx .(f x))) (λz .z)) cosa)〉→ |(((λf .(_.(f _)))_)_); (λx .((λz .z) x) cosa)〉

→ |(((λf .(_.(f _)))_)_); (λx .(_ x)_); ((λz .z) cosa)〉→ |(((λf .(_.(f _)))_)_); (λx .(_ x)_); ((λz .z) _); cosa〉→ |(((λf .(_.(f _)))_)_); (λx .(_ x)_); ((λz .z) _);_; cosa〉→ . . .

En este ejemplo podemos usar como criterio de terminacióncomparar la última expresión con �_�, no tenemos un criterio determinación bien de�nido en λi ya que el estado podría tener unasuperposición de varios historiales, algunos de los cuales hayanterminado y otros no. Entonces �observando� podría cambiar elestado.Este problema será resuelto más adelante con el λq.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 81: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ejemplo

|((apply id) cosa)〉 ≡ |(((λf .(λx .(f x))) (λz .z)) cosa)〉→ |(((λf .(_.(f _)))_)_); (λx .((λz .z) x) cosa)〉→ |(((λf .(_.(f _)))_)_); (λx .(_ x)_); ((λz .z) cosa)〉

→ |(((λf .(_.(f _)))_)_); (λx .(_ x)_); ((λz .z) _); cosa〉→ |(((λf .(_.(f _)))_)_); (λx .(_ x)_); ((λz .z) _);_; cosa〉→ . . .

En este ejemplo podemos usar como criterio de terminacióncomparar la última expresión con �_�, no tenemos un criterio determinación bien de�nido en λi ya que el estado podría tener unasuperposición de varios historiales, algunos de los cuales hayanterminado y otros no. Entonces �observando� podría cambiar elestado.Este problema será resuelto más adelante con el λq.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 82: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ejemplo

|((apply id) cosa)〉 ≡ |(((λf .(λx .(f x))) (λz .z)) cosa)〉→ |(((λf .(_.(f _)))_)_); (λx .((λz .z) x) cosa)〉→ |(((λf .(_.(f _)))_)_); (λx .(_ x)_); ((λz .z) cosa)〉→ |(((λf .(_.(f _)))_)_); (λx .(_ x)_); ((λz .z) _); cosa〉

→ |(((λf .(_.(f _)))_)_); (λx .(_ x)_); ((λz .z) _);_; cosa〉→ . . .

En este ejemplo podemos usar como criterio de terminacióncomparar la última expresión con �_�, no tenemos un criterio determinación bien de�nido en λi ya que el estado podría tener unasuperposición de varios historiales, algunos de los cuales hayanterminado y otros no. Entonces �observando� podría cambiar elestado.Este problema será resuelto más adelante con el λq.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 83: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ejemplo

|((apply id) cosa)〉 ≡ |(((λf .(λx .(f x))) (λz .z)) cosa)〉→ |(((λf .(_.(f _)))_)_); (λx .((λz .z) x) cosa)〉→ |(((λf .(_.(f _)))_)_); (λx .(_ x)_); ((λz .z) cosa)〉→ |(((λf .(_.(f _)))_)_); (λx .(_ x)_); ((λz .z) _); cosa〉→ |(((λf .(_.(f _)))_)_); (λx .(_ x)_); ((λz .z) _);_; cosa〉→ . . .

En este ejemplo podemos usar como criterio de terminacióncomparar la última expresión con �_�, no tenemos un criterio determinación bien de�nido en λi ya que el estado podría tener unasuperposición de varios historiales, algunos de los cuales hayanterminado y otros no. Entonces �observando� podría cambiar elestado.Este problema será resuelto más adelante con el λq.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 84: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Regla de reducción extra para símbolos de compuertas cuánticas

Regla de reducción para símbolos de compuertas cuánticas

|H ; (cU φ)〉 → |H ; (cU _)〉 ⊗ U |φ〉(U)

donde cU denota cualquiera de los símbolos cuánticos y U lacorrespondiente transformación unitaria. φ es 0 ó 1 en el caso deoperadores de 1 qubit ó (0, 0), (0, 1), (1, 0), (1, 1) en el caso deoperadores de 2-qubits, etc.

Ejemplo

|(cnot(1, 0))〉 → |(cnot _); (1, 1)〉|H ; (H 0)〉 → |H ; (H _)〉 ⊗ 1√

2(|0〉+ |1〉)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 85: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Regla de reducción extra para símbolos de compuertas cuánticas

Regla de reducción para símbolos de compuertas cuánticas

|H ; (cU φ)〉 → |H ; (cU _)〉 ⊗ U |φ〉(U)

donde cU denota cualquiera de los símbolos cuánticos y U lacorrespondiente transformación unitaria. φ es 0 ó 1 en el caso deoperadores de 1 qubit ó (0, 0), (0, 1), (1, 0), (1, 1) en el caso deoperadores de 2-qubits, etc.

Ejemplo

|(cnot(1, 0))〉

→ |(cnot _); (1, 1)〉|H ; (H 0)〉 → |H ; (H _)〉 ⊗ 1√

2(|0〉+ |1〉)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 86: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Regla de reducción extra para símbolos de compuertas cuánticas

Regla de reducción para símbolos de compuertas cuánticas

|H ; (cU φ)〉 → |H ; (cU _)〉 ⊗ U |φ〉(U)

donde cU denota cualquiera de los símbolos cuánticos y U lacorrespondiente transformación unitaria. φ es 0 ó 1 en el caso deoperadores de 1 qubit ó (0, 0), (0, 1), (1, 0), (1, 1) en el caso deoperadores de 2-qubits, etc.

Ejemplo

|(cnot(1, 0))〉 → |(cnot _); (1, 1)〉

|H ; (H 0)〉 → |H ; (H _)〉 ⊗ 1√2(|0〉+ |1〉)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 87: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Regla de reducción extra para símbolos de compuertas cuánticas

Regla de reducción para símbolos de compuertas cuánticas

|H ; (cU φ)〉 → |H ; (cU _)〉 ⊗ U |φ〉(U)

donde cU denota cualquiera de los símbolos cuánticos y U lacorrespondiente transformación unitaria. φ es 0 ó 1 en el caso deoperadores de 1 qubit ó (0, 0), (0, 1), (1, 0), (1, 1) en el caso deoperadores de 2-qubits, etc.

Ejemplo

|(cnot(1, 0))〉 → |(cnot _); (1, 1)〉|H ; (H 0)〉

→ |H ; (H _)〉 ⊗ 1√2(|0〉+ |1〉)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 88: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Regla de reducción extra para símbolos de compuertas cuánticas

Regla de reducción para símbolos de compuertas cuánticas

|H ; (cU φ)〉 → |H ; (cU _)〉 ⊗ U |φ〉(U)

donde cU denota cualquiera de los símbolos cuánticos y U lacorrespondiente transformación unitaria. φ es 0 ó 1 en el caso deoperadores de 1 qubit ó (0, 0), (0, 1), (1, 0), (1, 1) en el caso deoperadores de 2-qubits, etc.

Ejemplo

|(cnot(1, 0))〉 → |(cnot _); (1, 1)〉|H ; (H 0)〉 → |H ; (H _)〉 ⊗ 1√

2(|0〉+ |1〉)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 89: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Segundo IntentoProblemas

Ejemplo

|((λx .cosa) otraCosa)〉

→ |((λx ._) otraCosa); cosa〉Aquí debemos guardar �otraCosa� en el historial para mantenerreversibilidad.

Pero entonces entramos en problemas cuando el argumento que sedescarta es una superposición

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 90: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Segundo IntentoProblemas

Ejemplo

|((λx .cosa) otraCosa)〉 → |((λx ._) otraCosa); cosa〉

Aquí debemos guardar �otraCosa� en el historial para mantenerreversibilidad.

Pero entonces entramos en problemas cuando el argumento que sedescarta es una superposición

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 91: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Segundo IntentoProblemas

Ejemplo

|((λx .cosa) otraCosa)〉 → |((λx ._) otraCosa); cosa〉Aquí debemos guardar �otraCosa� en el historial para mantenerreversibilidad.

Pero entonces entramos en problemas cuando el argumento que sedescarta es una superposición

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 92: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Segundo IntentoProblemas

Ejemplo

|((λx .cosa) otraCosa)〉 → |((λx ._) otraCosa); cosa〉Aquí debemos guardar �otraCosa� en el historial para mantenerreversibilidad.

Pero entonces entramos en problemas cuando el argumento que sedescarta es una superposición

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 93: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ejemplo

|(λx .0) (H 0)〉

→ |(_ (H _))〉 ⊗∣∣∣(λx .0) ( 1√

2(|0〉+ |1〉))

⟩Aquí tengo dos formas de reducir (λx .0) ( 1√

2(|0〉+ |1〉))

1

∣∣∣(λx ._) ( 1√2(|0〉+ |1〉)

⟩⊗ |0〉

≡ 1√2(|(λx ._) 0〉+ |(λx ._) 1〉)⊗ |0〉

2 1√2(|(λx .0) 0〉+ |(λx .0) 1〉) →

√2 |0〉

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 94: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ejemplo

|(λx .0) (H 0)〉 → |(_ (H _))〉 ⊗∣∣∣(λx .0) ( 1√

2(|0〉+ |1〉))

Aquí tengo dos formas de reducir (λx .0) ( 1√2(|0〉+ |1〉))

1

∣∣∣(λx ._) ( 1√2(|0〉+ |1〉)

⟩⊗ |0〉

≡ 1√2(|(λx ._) 0〉+ |(λx ._) 1〉)⊗ |0〉

2 1√2(|(λx .0) 0〉+ |(λx .0) 1〉) →

√2 |0〉

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 95: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ejemplo

|(λx .0) (H 0)〉 → |(_ (H _))〉 ⊗∣∣∣(λx .0) ( 1√

2(|0〉+ |1〉))

⟩Aquí tengo dos formas de reducir (λx .0) ( 1√

2(|0〉+ |1〉))

1

∣∣∣(λx ._) ( 1√2(|0〉+ |1〉)

⟩⊗ |0〉

≡ 1√2(|(λx ._) 0〉+ |(λx ._) 1〉)⊗ |0〉

2 1√2(|(λx .0) 0〉+ |(λx .0) 1〉) →

√2 |0〉

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 96: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ejemplo

|(λx .0) (H 0)〉 → |(_ (H _))〉 ⊗∣∣∣(λx .0) ( 1√

2(|0〉+ |1〉))

⟩Aquí tengo dos formas de reducir (λx .0) ( 1√

2(|0〉+ |1〉))

1

∣∣∣(λx ._) ( 1√2(|0〉+ |1〉)

⟩⊗ |0〉

≡ 1√2(|(λx ._) 0〉+ |(λx ._) 1〉)⊗ |0〉

2 1√2(|(λx .0) 0〉+ |(λx .0) 1〉) →

√2 |0〉

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 97: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ejemplo

|(λx .0) (H 0)〉 → |(_ (H _))〉 ⊗∣∣∣(λx .0) ( 1√

2(|0〉+ |1〉))

⟩Aquí tengo dos formas de reducir (λx .0) ( 1√

2(|0〉+ |1〉))

1

∣∣∣(λx ._) ( 1√2(|0〉+ |1〉)

⟩⊗ |0〉

≡ 1√2(|(λx ._) 0〉+ |(λx ._) 1〉)⊗ |0〉

2 1√2(|(λx .0) 0〉+ |(λx .0) 1〉) →

√2 |0〉

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 98: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ejemplo

|(λx .0) (H 0)〉 → |(_ (H _))〉 ⊗∣∣∣(λx .0) ( 1√

2(|0〉+ |1〉))

⟩Aquí tengo dos formas de reducir (λx .0) ( 1√

2(|0〉+ |1〉))

1

∣∣∣(λx ._) ( 1√2(|0〉+ |1〉)

⟩⊗ |0〉

≡ 1√2(|(λx ._) 0〉+ |(λx ._) 1〉)⊗ |0〉

2 1√2(|(λx .0) 0〉+ |(λx .0) 1〉)

→√2 |0〉

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 99: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ejemplo

|(λx .0) (H 0)〉 → |(_ (H _))〉 ⊗∣∣∣(λx .0) ( 1√

2(|0〉+ |1〉))

⟩Aquí tengo dos formas de reducir (λx .0) ( 1√

2(|0〉+ |1〉))

1

∣∣∣(λx ._) ( 1√2(|0〉+ |1〉)

⟩⊗ |0〉

≡ 1√2(|(λx ._) 0〉+ |(λx ._) 1〉)⊗ |0〉

2 1√2(|(λx .0) 0〉+ |(λx .0) 1〉) →

√2 |0〉

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 100: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Otro ejemplo

Ejemplo

|((λy .((λx .y) y)) (H 0))〉

→ 1√2|(_(H _)〉 ⊗ (|((λy .((λx .y) y)) 0)〉+ |((λy .((λx .y) y)) 1)〉)

→ 1√2|(_(H _)〉⊗|((λy .((_.y) y)) _)〉 ⊗ (|((λx .0) 0)〉+ |((λx .1) 1)〉)

→ 1√2|(_(H _)〉⊗|((λy .((_.y) y)) _)〉 ⊗ (|((λx ._) 0); 0〉+ |((λx ._) 1); 1〉)

Quedó el historial en entangled con el estado!!!

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 101: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Otro ejemplo

Ejemplo

|((λy .((λx .y) y)) (H 0))〉→ 1√

2|(_(H _)〉 ⊗ (|((λy .((λx .y) y)) 0)〉+ |((λy .((λx .y) y)) 1)〉)

→ 1√2|(_(H _)〉⊗|((λy .((_.y) y)) _)〉 ⊗ (|((λx .0) 0)〉+ |((λx .1) 1)〉)

→ 1√2|(_(H _)〉⊗|((λy .((_.y) y)) _)〉 ⊗ (|((λx ._) 0); 0〉+ |((λx ._) 1); 1〉)

Quedó el historial en entangled con el estado!!!

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 102: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Otro ejemplo

Ejemplo

|((λy .((λx .y) y)) (H 0))〉→ 1√

2|(_(H _)〉 ⊗ (|((λy .((λx .y) y)) 0)〉+ |((λy .((λx .y) y)) 1)〉)

→ 1√2|(_(H _)〉⊗|((λy .((_.y) y)) _)〉 ⊗ (|((λx .0) 0)〉+ |((λx .1) 1)〉)

→ 1√2|(_(H _)〉⊗|((λy .((_.y) y)) _)〉 ⊗ (|((λx ._) 0); 0〉+ |((λx ._) 1); 1〉)

Quedó el historial en entangled con el estado!!!

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 103: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Otro ejemplo

Ejemplo

|((λy .((λx .y) y)) (H 0))〉→ 1√

2|(_(H _)〉 ⊗ (|((λy .((λx .y) y)) 0)〉+ |((λy .((λx .y) y)) 1)〉)

→ 1√2|(_(H _)〉⊗|((λy .((_.y) y)) _)〉 ⊗ (|((λx .0) 0)〉+ |((λx .1) 1)〉)

→ 1√2|(_(H _)〉⊗|((λy .((_.y) y)) _)〉 ⊗ (|((λx ._) 0); 0〉+ |((λx ._) 1); 1〉)

Quedó el historial en entangled con el estado!!!

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 104: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Otro ejemplo

Ejemplo

|((λy .((λx .y) y)) (H 0))〉→ 1√

2|(_(H _)〉 ⊗ (|((λy .((λx .y) y)) 0)〉+ |((λy .((λx .y) y)) 1)〉)

→ 1√2|(_(H _)〉⊗|((λy .((_.y) y)) _)〉 ⊗ (|((λx .0) 0)〉+ |((λx .1) 1)〉)

→ 1√2|(_(H _)〉⊗|((λy .((_.y) y)) _)〉 ⊗ (|((λx ._) 0); 0〉+ |((λx ._) 1); 1〉)

Quedó el historial en entangled con el estado!!!

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 105: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Tercer (y último) intentoλ-Cálculo Cuántico (λq)

De�nición

Decimos que una subexpresión es de�nida con respecto a la basecomputacional si es textualmente la misma en todos los branchesde la superposición.

Ejemplo

1√2(|(λx .0) 0〉+ |(λx .0) 1〉)

La subexpresión (λx .0) es de�nida, aunque el argumento1√2(|0〉+ |1〉) no lo es.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 106: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Tercer (y último) intentoλ-Cálculo Cuántico (λq)

De�nición

Decimos que una subexpresión es de�nida con respecto a la basecomputacional si es textualmente la misma en todos los branchesde la superposición.

Ejemplo

1√2(|(λx .0) 0〉+ |(λx .0) 1〉)

La subexpresión (λx .0) es de�nida, aunque el argumento1√2(|0〉+ |1〉) no lo es.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 107: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Tercer (y último) intentoλ-Cálculo Cuántico (λq)

De�nición

Decimos que una subexpresión es de�nida con respecto a la basecomputacional si es textualmente la misma en todos los branchesde la superposición.

Ejemplo

1√2(|(λx .0) 0〉+ |(λx .0) 1〉)

La subexpresión (λx .0) es de�nida, aunque el argumento1√2(|0〉+ |1〉) no lo es.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 108: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Para resolver los problemas que mostramos previamente,consideraremos un λ-cálculo que guarde información de cuando unargumento es de�nido o no, el cual hará imposible escribirfunciones que descarten elementos no de�nidos.

Existe un tipo de cálculo sensible al tipo de elementos llamadoλ-cálculo lineal, que ha sido estudiado extensamente[Abr93][Wad94][MOTW99][See89]

La sintaxis que usaremos será una extensión de la introducida en[Wad94]

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 109: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Para resolver los problemas que mostramos previamente,consideraremos un λ-cálculo que guarde información de cuando unargumento es de�nido o no, el cual hará imposible escribirfunciones que descarten elementos no de�nidos.

Existe un tipo de cálculo sensible al tipo de elementos llamadoλ-cálculo lineal, que ha sido estudiado extensamente[Abr93][Wad94][MOTW99][See89]

La sintaxis que usaremos será una extensión de la introducida en[Wad94]

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 110: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Para resolver los problemas que mostramos previamente,consideraremos un λ-cálculo que guarde información de cuando unargumento es de�nido o no, el cual hará imposible escribirfunciones que descarten elementos no de�nidos.

Existe un tipo de cálculo sensible al tipo de elementos llamadoλ-cálculo lineal, que ha sido estudiado extensamente[Abr93][Wad94][MOTW99][See89]

La sintaxis que usaremos será una extensión de la introducida en[Wad94]

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 111: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Sintaxis del λq

t ::= término

x variable

(λx .t) abstracción

(t t) aplicación

c constante

!t término no lineal

(λ!x .t) abstracción no lineal

c ::=0|1|H|cnot|X |Z | . . . constantes

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 112: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Observaciones:

Los términos de la forma !t son llamados no lineales. Lostérminos no lineales serán términos de�nidos con respecto a labase computacional.

La abstracción (λ!x .t) denota funciones con argumentos nolineales. En contraposición, en la abstracción (λx .t) elargumento es lineal.

En una abstracción lineal puedo usar todos los términos nolineales que quiera (o ninguno), pero debe haber un términolineal (y sólo uno) en el cuerpo de la función.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 113: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Observaciones:

Los términos de la forma !t son llamados no lineales. Lostérminos no lineales serán términos de�nidos con respecto a labase computacional.

La abstracción (λ!x .t) denota funciones con argumentos nolineales. En contraposición, en la abstracción (λx .t) elargumento es lineal.

En una abstracción lineal puedo usar todos los términos nolineales que quiera (o ninguno), pero debe haber un términolineal (y sólo uno) en el cuerpo de la función.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 114: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Observaciones:

Los términos de la forma !t son llamados no lineales. Lostérminos no lineales serán términos de�nidos con respecto a labase computacional.

La abstracción (λ!x .t) denota funciones con argumentos nolineales. En contraposición, en la abstracción (λx .t) elargumento es lineal.

En una abstracción lineal puedo usar todos los términos nolineales que quiera (o ninguno), pero debe haber un términolineal (y sólo uno) en el cuerpo de la función.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 115: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Para reforzar estasreglas, necesitamostérminos�bien-formados�. Estocorresponde a larestricción de que losargumentos linealesaparezcan linealmente enel cuerpo de una funcióny que todas las variableslibres de un término !tre�eran a variables nolineales.

Ejemplo

Bien-Formados(λ!x .0)(λx .x)(λ!x .(x x))(λy .(λ!x .y))(λ!y .!(λ!x .y))

No bien-formados(λx .0)(λx .!x)(λx .(x x))(λy .(λx .y))(λy .!(λ!x .y))

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 116: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Para reforzar estasreglas, necesitamostérminos�bien-formados�. Estocorresponde a larestricción de que losargumentos linealesaparezcan linealmente enel cuerpo de una funcióny que todas las variableslibres de un término !tre�eran a variables nolineales.

Ejemplo

Bien-Formados(λ!x .0)

(λx .x)(λ!x .(x x))(λy .(λ!x .y))(λ!y .!(λ!x .y))

No bien-formados(λx .0)

(λx .!x)(λx .(x x))(λy .(λx .y))(λy .!(λ!x .y))

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 117: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Para reforzar estasreglas, necesitamostérminos�bien-formados�. Estocorresponde a larestricción de que losargumentos linealesaparezcan linealmente enel cuerpo de una funcióny que todas las variableslibres de un término !tre�eran a variables nolineales.

Ejemplo

Bien-Formados(λ!x .0)(λx .x)

(λ!x .(x x))(λy .(λ!x .y))(λ!y .!(λ!x .y))

No bien-formados(λx .0)(λx .!x)

(λx .(x x))(λy .(λx .y))(λy .!(λ!x .y))

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 118: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Para reforzar estasreglas, necesitamostérminos�bien-formados�. Estocorresponde a larestricción de que losargumentos linealesaparezcan linealmente enel cuerpo de una funcióny que todas las variableslibres de un término !tre�eran a variables nolineales.

Ejemplo

Bien-Formados(λ!x .0)(λx .x)(λ!x .(x x))

(λy .(λ!x .y))(λ!y .!(λ!x .y))

No bien-formados(λx .0)(λx .!x)(λx .(x x))

(λy .(λx .y))(λy .!(λ!x .y))

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 119: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Para reforzar estasreglas, necesitamostérminos�bien-formados�. Estocorresponde a larestricción de que losargumentos linealesaparezcan linealmente enel cuerpo de una funcióny que todas las variableslibres de un término !tre�eran a variables nolineales.

Ejemplo

Bien-Formados(λ!x .0)(λx .x)(λ!x .(x x))(λy .(λ!x .y))

(λ!y .!(λ!x .y))

No bien-formados(λx .0)(λx .!x)(λx .(x x))(λy .(λx .y))

(λy .!(λ!x .y))

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 120: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Para reforzar estasreglas, necesitamostérminos�bien-formados�. Estocorresponde a larestricción de que losargumentos linealesaparezcan linealmente enel cuerpo de una funcióny que todas las variableslibres de un término !tre�eran a variables nolineales.

Ejemplo

Bien-Formados(λ!x .0)(λx .x)(λ!x .(x x))(λy .(λ!x .y))(λ!y .!(λ!x .y))

No bien-formados(λx .0)(λx .!x)(λx .(x x))(λy .(λx .y))(λy .!(λ!x .y))

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 121: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Las restricciones de términos bien-formados impiden escribirfunciones que descarten argumentos lineales, pero esto no essu�ciente para prevenir cómputos inseguros sin especi�car el ordende reducción.

Ejemplo

La expresión ((λ!x .0) !(H 0)) es bien-formada. El problema está enque permitimos usar ! para promover la expresión (H 0) (que va aser descartada) a un valor no lineal. Si reducimos primero elsubtérmino (H 0), razonando ecuacionalmente tenemos|((λ!x .0) !(H 0)〉 = 1√

2(|((λ!x .0) !0)〉+ |((λ!x .0) !1)〉) =

√2 |0〉

En cambio, si consideramos a !(H 0) como irreducible, podríamosusar beta reducción inmediatamente y obtener|((λ!x .0) !(H 0))〉 = |0〉

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 122: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Las restricciones de términos bien-formados impiden escribirfunciones que descarten argumentos lineales, pero esto no essu�ciente para prevenir cómputos inseguros sin especi�car el ordende reducción.

Ejemplo

La expresión ((λ!x .0) !(H 0)) es bien-formada.

El problema está enque permitimos usar ! para promover la expresión (H 0) (que va aser descartada) a un valor no lineal. Si reducimos primero elsubtérmino (H 0), razonando ecuacionalmente tenemos|((λ!x .0) !(H 0)〉 = 1√

2(|((λ!x .0) !0)〉+ |((λ!x .0) !1)〉) =

√2 |0〉

En cambio, si consideramos a !(H 0) como irreducible, podríamosusar beta reducción inmediatamente y obtener|((λ!x .0) !(H 0))〉 = |0〉

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 123: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Las restricciones de términos bien-formados impiden escribirfunciones que descarten argumentos lineales, pero esto no essu�ciente para prevenir cómputos inseguros sin especi�car el ordende reducción.

Ejemplo

La expresión ((λ!x .0) !(H 0)) es bien-formada. El problema está enque permitimos usar ! para promover la expresión (H 0) (que va aser descartada) a un valor no lineal.

Si reducimos primero elsubtérmino (H 0), razonando ecuacionalmente tenemos|((λ!x .0) !(H 0)〉 = 1√

2(|((λ!x .0) !0)〉+ |((λ!x .0) !1)〉) =

√2 |0〉

En cambio, si consideramos a !(H 0) como irreducible, podríamosusar beta reducción inmediatamente y obtener|((λ!x .0) !(H 0))〉 = |0〉

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 124: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Las restricciones de términos bien-formados impiden escribirfunciones que descarten argumentos lineales, pero esto no essu�ciente para prevenir cómputos inseguros sin especi�car el ordende reducción.

Ejemplo

La expresión ((λ!x .0) !(H 0)) es bien-formada. El problema está enque permitimos usar ! para promover la expresión (H 0) (que va aser descartada) a un valor no lineal. Si reducimos primero elsubtérmino (H 0), razonando ecuacionalmente tenemos|((λ!x .0) !(H 0)〉 =

1√2(|((λ!x .0) !0)〉+ |((λ!x .0) !1)〉) =

√2 |0〉

En cambio, si consideramos a !(H 0) como irreducible, podríamosusar beta reducción inmediatamente y obtener|((λ!x .0) !(H 0))〉 = |0〉

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 125: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Las restricciones de términos bien-formados impiden escribirfunciones que descarten argumentos lineales, pero esto no essu�ciente para prevenir cómputos inseguros sin especi�car el ordende reducción.

Ejemplo

La expresión ((λ!x .0) !(H 0)) es bien-formada. El problema está enque permitimos usar ! para promover la expresión (H 0) (que va aser descartada) a un valor no lineal. Si reducimos primero elsubtérmino (H 0), razonando ecuacionalmente tenemos|((λ!x .0) !(H 0)〉 = 1√

2(|((λ!x .0) !0)〉+ |((λ!x .0) !1)〉)

=√2 |0〉

En cambio, si consideramos a !(H 0) como irreducible, podríamosusar beta reducción inmediatamente y obtener|((λ!x .0) !(H 0))〉 = |0〉

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 126: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Las restricciones de términos bien-formados impiden escribirfunciones que descarten argumentos lineales, pero esto no essu�ciente para prevenir cómputos inseguros sin especi�car el ordende reducción.

Ejemplo

La expresión ((λ!x .0) !(H 0)) es bien-formada. El problema está enque permitimos usar ! para promover la expresión (H 0) (que va aser descartada) a un valor no lineal. Si reducimos primero elsubtérmino (H 0), razonando ecuacionalmente tenemos|((λ!x .0) !(H 0)〉 = 1√

2(|((λ!x .0) !0)〉+ |((λ!x .0) !1)〉) =

√2 |0〉

En cambio, si consideramos a !(H 0) como irreducible, podríamosusar beta reducción inmediatamente y obtener|((λ!x .0) !(H 0))〉 = |0〉

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 127: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Las restricciones de términos bien-formados impiden escribirfunciones que descarten argumentos lineales, pero esto no essu�ciente para prevenir cómputos inseguros sin especi�car el ordende reducción.

Ejemplo

La expresión ((λ!x .0) !(H 0)) es bien-formada. El problema está enque permitimos usar ! para promover la expresión (H 0) (que va aser descartada) a un valor no lineal. Si reducimos primero elsubtérmino (H 0), razonando ecuacionalmente tenemos|((λ!x .0) !(H 0)〉 = 1√

2(|((λ!x .0) !0)〉+ |((λ!x .0) !1)〉) =

√2 |0〉

En cambio, si consideramos a !(H 0) como irreducible, podríamosusar beta reducción inmediatamente y obtener

|((λ!x .0) !(H 0))〉 = |0〉

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 128: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Las restricciones de términos bien-formados impiden escribirfunciones que descarten argumentos lineales, pero esto no essu�ciente para prevenir cómputos inseguros sin especi�car el ordende reducción.

Ejemplo

La expresión ((λ!x .0) !(H 0)) es bien-formada. El problema está enque permitimos usar ! para promover la expresión (H 0) (que va aser descartada) a un valor no lineal. Si reducimos primero elsubtérmino (H 0), razonando ecuacionalmente tenemos|((λ!x .0) !(H 0)〉 = 1√

2(|((λ!x .0) !0)〉+ |((λ!x .0) !1)〉) =

√2 |0〉

En cambio, si consideramos a !(H 0) como irreducible, podríamosusar beta reducción inmediatamente y obtener|((λ!x .0) !(H 0))〉 = |0〉

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 129: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Para prevenir que términos de la forma !t sean evaluados, seguimosa [Abr93] y extendemos nuestra de�nición de valores de la siguientemanera

Valores en el λq

v ::= valores:

x variable

c constante

(λx .t) abstracción lineal

(λ!x .t) abstracción no lineal

!t !-suspensión

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 130: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Para prevenir que términos de la forma !t sean evaluados, seguimosa [Abr93] y extendemos nuestra de�nición de valores de la siguientemanera

Valores en el λq

v ::= valores:

x variable

c constante

(λx .t) abstracción lineal

(λ!x .t) abstracción no lineal

!t !-suspensión

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 131: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

El modelo computacional se describe como sigue (donde t esde�nido como lo de�nimos anteriormente. Ver de�nición )

Modelo operacional para el λq

t1 → h1; t′1

H ; (t1 t2) → H ; (h1 _); (t ′1 t2)(APP1)

t2 → h2; t′2

H ; (v t2) → H ; (_ h2); (v1 t′2)

(APP2)

H ; ((λx .t) v) → H ; ((λx .tx) _); t[v/x ](β)

H ; ((λ!x .t) !t ′) → H ; ((λ!x .tx) _); t[t ′/x ](!β1) Si x ∈ F (t)

H ; ((λ!x .t) !t ′) → H ; ((λ!x ._) !t ′); t(!β2) Si x /∈ F (t)

|H ; (cU φ)〉 → |H ; (cU _)〉 ⊗ U |φ〉(U)

H ; t → H ;_; t(Id) en otro caso

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 132: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Modelo operacional para el λq

t1 → h1; t′1

H ; (t1 t2) → H ; (h1 _); (t ′1 t2)(APP1)

t2 → h2; t′2

H ; (v t2) → H ; (_ h2); (v1 t′2)

(APP2)

H ; ((λx .t) v) → H ; ((λx .tx) _); t[v/x ](β)

H ; ((λ!x .t) !t ′) → H ; ((λ!x .tx) _); t[t ′/x ](!β1) Si x ∈ F (t)

H ; ((λ!x .t) !t ′) → H ; ((λ!x ._) !t ′); t(!β2) Si x /∈ F (t)

|H ; (cU φ)〉 → |H ; (cU _)〉 ⊗ U |φ〉(U)

H ; t → H ;_; t(Id) en otro caso

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 133: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Modelo operacional para el λq

t1 → h1; t′1

H ; (t1 t2) → H ; (h1 _); (t ′1 t2)(APP1)

t2 → h2; t′2

H ; (v t2) → H ; (_ h2); (v1 t′2)

(APP2)

H ; ((λx .t) v) → H ; ((λx .tx) _); t[v/x ](β)

H ; ((λ!x .t) !t ′) → H ; ((λ!x .tx) _); t[t ′/x ](!β1) Si x ∈ F (t)

H ; ((λ!x .t) !t ′) → H ; ((λ!x ._) !t ′); t(!β2) Si x /∈ F (t)

|H ; (cU φ)〉 → |H ; (cU _)〉 ⊗ U |φ〉(U)

H ; t → H ;_; t(Id) en otro caso

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 134: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Modelo operacional para el λq

t1 → h1; t′1

H ; (t1 t2) → H ; (h1 _); (t ′1 t2)(APP1)

t2 → h2; t′2

H ; (v t2) → H ; (_ h2); (v1 t′2)

(APP2)

H ; ((λx .t) v) → H ; ((λx .tx) _); t[v/x ](β)

H ; ((λ!x .t) !t ′) → H ; ((λ!x .tx) _); t[t ′/x ](!β1) Si x ∈ F (t)

H ; ((λ!x .t) !t ′) → H ; ((λ!x ._) !t ′); t(!β2) Si x /∈ F (t)

|H ; (cU φ)〉 → |H ; (cU _)〉 ⊗ U |φ〉(U)

H ; t → H ;_; t(Id) en otro caso

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 135: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Modelo operacional para el λq

t1 → h1; t′1

H ; (t1 t2) → H ; (h1 _); (t ′1 t2)(APP1)

t2 → h2; t′2

H ; (v t2) → H ; (_ h2); (v1 t′2)

(APP2)

H ; ((λx .t) v) → H ; ((λx .tx) _); t[v/x ](β)

H ; ((λ!x .t) !t ′) → H ; ((λ!x .tx) _); t[t ′/x ](!β1) Si x ∈ F (t)

H ; ((λ!x .t) !t ′) → H ; ((λ!x ._) !t ′); t(!β2) Si x /∈ F (t)

|H ; (cU φ)〉 → |H ; (cU _)〉 ⊗ U |φ〉(U)

H ; t → H ;_; t(Id) en otro caso

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 136: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Modelo operacional para el λq

t1 → h1; t′1

H ; (t1 t2) → H ; (h1 _); (t ′1 t2)(APP1)

t2 → h2; t′2

H ; (v t2) → H ; (_ h2); (v1 t′2)

(APP2)

H ; ((λx .t) v) → H ; ((λx .tx) _); t[v/x ](β)

H ; ((λ!x .t) !t ′) → H ; ((λ!x .tx) _); t[t ′/x ](!β1) Si x ∈ F (t)

H ; ((λ!x .t) !t ′) → H ; ((λ!x ._) !t ′); t(!β2) Si x /∈ F (t)

|H ; (cU φ)〉 → |H ; (cU _)〉 ⊗ U |φ〉(U)

H ; t → H ;_; t(Id) en otro caso

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 137: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Modelo operacional para el λq

t1 → h1; t′1

H ; (t1 t2) → H ; (h1 _); (t ′1 t2)(APP1)

t2 → h2; t′2

H ; (v t2) → H ; (_ h2); (v1 t′2)

(APP2)

H ; ((λx .t) v) → H ; ((λx .tx) _); t[v/x ](β)

H ; ((λ!x .t) !t ′) → H ; ((λ!x .tx) _); t[t ′/x ](!β1) Si x ∈ F (t)

H ; ((λ!x .t) !t ′) → H ; ((λ!x ._) !t ′); t(!β2) Si x /∈ F (t)

|H ; (cU φ)〉 → |H ; (cU _)〉 ⊗ U |φ〉(U)

H ; t → H ;_; t(Id) en otro caso

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 138: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Modelo operacional para el λq

t1 → h1; t′1

H ; (t1 t2) → H ; (h1 _); (t ′1 t2)(APP1)

t2 → h2; t′2

H ; (v t2) → H ; (_ h2); (v1 t′2)

(APP2)

H ; ((λx .t) v) → H ; ((λx .tx) _); t[v/x ](β)

H ; ((λ!x .t) !t ′) → H ; ((λ!x .tx) _); t[t ′/x ](!β1) Si x ∈ F (t)

H ; ((λ!x .t) !t ′) → H ; ((λ!x ._) !t ′); t(!β2) Si x /∈ F (t)

|H ; (cU φ)〉 → |H ; (cU _)〉 ⊗ U |φ〉(U)

H ; t → H ;_; t(Id) en otro caso

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 139: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

1 De acuerdo a estas reglas, las superposiciones cuánticas sólopueden ser creadas mediante la evaluación de términos quecontengan primitivas cuánticas.

2 El resultado de aplicar una compuerta cuántica es un valorlineal (sin !).

3 Nótese que cuando una función no lineal encuentra un términolineal, lo único que se puede aplicar es la regla (Id).

4 Las reglas de reducción precedentes permiten crearsuperposición, pero los términos en la superposición sólodi�eren en las posiciones que contienen las constantes 0 y 1. Acontinuación vamos a formalizar esto último.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 140: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

1 De acuerdo a estas reglas, las superposiciones cuánticas sólopueden ser creadas mediante la evaluación de términos quecontengan primitivas cuánticas.

2 El resultado de aplicar una compuerta cuántica es un valorlineal (sin !).

3 Nótese que cuando una función no lineal encuentra un términolineal, lo único que se puede aplicar es la regla (Id).

4 Las reglas de reducción precedentes permiten crearsuperposición, pero los términos en la superposición sólodi�eren en las posiciones que contienen las constantes 0 y 1. Acontinuación vamos a formalizar esto último.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 141: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

1 De acuerdo a estas reglas, las superposiciones cuánticas sólopueden ser creadas mediante la evaluación de términos quecontengan primitivas cuánticas.

2 El resultado de aplicar una compuerta cuántica es un valorlineal (sin !).

3 Nótese que cuando una función no lineal encuentra un términolineal, lo único que se puede aplicar es la regla (Id).

4 Las reglas de reducción precedentes permiten crearsuperposición, pero los términos en la superposición sólodi�eren en las posiciones que contienen las constantes 0 y 1. Acontinuación vamos a formalizar esto último.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 142: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

1 De acuerdo a estas reglas, las superposiciones cuánticas sólopueden ser creadas mediante la evaluación de términos quecontengan primitivas cuánticas.

2 El resultado de aplicar una compuerta cuántica es un valorlineal (sin !).

3 Nótese que cuando una función no lineal encuentra un términolineal, lo único que se puede aplicar es la regla (Id).

4 Las reglas de reducción precedentes permiten crearsuperposición, pero los términos en la superposición sólodi�eren en las posiciones que contienen las constantes 0 y 1. Acontinuación vamos a formalizar esto último.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 143: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

De�nición

Dos términos son congruentes si coinciden símbolo a símboloexcepto tal vez en las posiciones que contienen 0 ó 1.

Lema

Todos los términos en una superposición obtenidos mediante una

secuencia de reducción de un término inicial de�nido son

congruentes.

Lema

Si t es bien-formado y |H ; t〉 →∑

i ci |H ′i ; t

′i 〉, entonces todos los

términos t ′i son bien formados.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 144: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

De�nición

Dos términos son congruentes si coinciden símbolo a símboloexcepto tal vez en las posiciones que contienen 0 ó 1.

Lema

Todos los términos en una superposición obtenidos mediante una

secuencia de reducción de un término inicial de�nido son

congruentes.

Lema

Si t es bien-formado y |H ; t〉 →∑

i ci |H ′i ; t

′i 〉, entonces todos los

términos t ′i son bien formados.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 145: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

De�nición

Dos términos son congruentes si coinciden símbolo a símboloexcepto tal vez en las posiciones que contienen 0 ó 1.

Lema

Todos los términos en una superposición obtenidos mediante una

secuencia de reducción de un término inicial de�nido son

congruentes.

Lema

Si t es bien-formado y |H ; t〉 →∑

i ci |H ′i ; t

′i 〉, entonces todos los

términos t ′i son bien formados.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 146: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Dado que los términos que aparecen en una superposición tienen lamisma forma, tiene sentido hablar acerca de subtérminosespecí�cos de la expresión en el registro computacional. Por lotanto, podemos formular el siguente lema:

Lema

Empezando con un término inicial de�nido, cualquier subtérmino

!-suspensión que ocurra durante la reducción será de�nido con

respecto a la base computacional.

Observación: Notar que mediante reducción tampoco puedo crear!-suspenciones no de�nidas.

(λx . · · ·!(· · · x · · · ) · · · ) (H 0)

ya que x es lineal, lo que implica que !(· · · x · · · ) es un subtérminono bien-formado.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 147: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Dado que los términos que aparecen en una superposición tienen lamisma forma, tiene sentido hablar acerca de subtérminosespecí�cos de la expresión en el registro computacional. Por lotanto, podemos formular el siguente lema:

Lema

Empezando con un término inicial de�nido, cualquier subtérmino

!-suspensión que ocurra durante la reducción será de�nido con

respecto a la base computacional.

Observación: Notar que mediante reducción tampoco puedo crear!-suspenciones no de�nidas.

(λx . · · ·!(· · · x · · · ) · · · ) (H 0)

ya que x es lineal, lo que implica que !(· · · x · · · ) es un subtérminono bien-formado.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 148: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Dado que los términos que aparecen en una superposición tienen lamisma forma, tiene sentido hablar acerca de subtérminosespecí�cos de la expresión en el registro computacional. Por lotanto, podemos formular el siguente lema:

Lema

Empezando con un término inicial de�nido, cualquier subtérmino

!-suspensión que ocurra durante la reducción será de�nido con

respecto a la base computacional.

Observación: Notar que mediante reducción tampoco puedo crear!-suspenciones no de�nidas.

(λx . · · ·!(· · · x · · · ) · · · ) (H 0)

ya que x es lineal, lo que implica que !(· · · x · · · ) es un subtérminono bien-formado.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 149: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Lema

Dado un término inicial de�nido, los contenidos del historial se

mantienen de�nidos a través de la reducción.

Corolario

La terminación se puede testear observando el último término del

historial sin modi�car nada. Cuando ese término es igual al

placeholder �_�, el resultado queda en el registro

computacional.

El hecho de que el historial se mantenga de�nido en el λq eliminalos impedimentos para de�nir una teoría ecuacional.De hecho, ya que ahora podemos garantizar que cualquier estadocomputacional será de la forma |H 〉 ⊗ |c〉 (i.e. no en entangled) yque |H 〉 se mantendrá de�nido (por lo cual se preservará lanormalización) se puede enunciar el siguiente teorema.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 150: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Lema

Dado un término inicial de�nido, los contenidos del historial se

mantienen de�nidos a través de la reducción.

Corolario

La terminación se puede testear observando el último término del

historial sin modi�car nada. Cuando ese término es igual al

placeholder �_�, el resultado queda en el registro

computacional.

El hecho de que el historial se mantenga de�nido en el λq eliminalos impedimentos para de�nir una teoría ecuacional.De hecho, ya que ahora podemos garantizar que cualquier estadocomputacional será de la forma |H 〉 ⊗ |c〉 (i.e. no en entangled) yque |H 〉 se mantendrá de�nido (por lo cual se preservará lanormalización) se puede enunciar el siguiente teorema.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 151: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Lema

Dado un término inicial de�nido, los contenidos del historial se

mantienen de�nidos a través de la reducción.

Corolario

La terminación se puede testear observando el último término del

historial sin modi�car nada. Cuando ese término es igual al

placeholder �_�, el resultado queda en el registro

computacional.

El hecho de que el historial se mantenga de�nido en el λq eliminalos impedimentos para de�nir una teoría ecuacional.

De hecho, ya que ahora podemos garantizar que cualquier estadocomputacional será de la forma |H 〉 ⊗ |c〉 (i.e. no en entangled) yque |H 〉 se mantendrá de�nido (por lo cual se preservará lanormalización) se puede enunciar el siguiente teorema.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 152: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Lema

Dado un término inicial de�nido, los contenidos del historial se

mantienen de�nidos a través de la reducción.

Corolario

La terminación se puede testear observando el último término del

historial sin modi�car nada. Cuando ese término es igual al

placeholder �_�, el resultado queda en el registro

computacional.

El hecho de que el historial se mantenga de�nido en el λq eliminalos impedimentos para de�nir una teoría ecuacional.De hecho, ya que ahora podemos garantizar que cualquier estadocomputacional será de la forma |H 〉 ⊗ |c〉 (i.e. no en entangled) yque |H 〉 se mantendrá de�nido (por lo cual se preservará lanormalización) se puede enunciar el siguiente teorema.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 153: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Teorema

En el cálculo cuántico λq, la evolución del registro computacional

está gobernada por las reglas de reducción que se listan a

continuación.

Reglas de reducción del registro computacional

t1 → t ′1(t1 t2) → (t ′1 t2)

(APP1)

t2 → t ′2(v1 t2) → (v1 t

′2)

(APP2)

(λx .t) v → t[v/x ](β)

(λ!x .t) !t ′ → t[t ′/x ](!β1) Si x ∈F (t)

(λ!x .t) !t ′ → t(!β2) Si x /∈ F (t)

|cU φ〉 → U |φ〉(U)

Observación: Llegamos a un conjunto de reglas de reducción simpley que nos permite razonar sobre los cómputos sin tener queacarrear el historial.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 154: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Teorema

En el cálculo cuántico λq, la evolución del registro computacional

está gobernada por las reglas de reducción que se listan a

continuación.

Reglas de reducción del registro computacional

t1 → t ′1(t1 t2) → (t ′1 t2)

(APP1)

t2 → t ′2(v1 t2) → (v1 t

′2)

(APP2)

(λx .t) v → t[v/x ](β)

(λ!x .t) !t ′ → t[t ′/x ](!β1) Si x ∈F (t)

(λ!x .t) !t ′ → t(!β2) Si x /∈ F (t)

|cU φ〉 → U |φ〉(U)

Observación: Llegamos a un conjunto de reglas de reducción simpley que nos permite razonar sobre los cómputos sin tener queacarrear el historial.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 155: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Teorema

En el cálculo cuántico λq, la evolución del registro computacional

está gobernada por las reglas de reducción que se listan a

continuación.

Reglas de reducción del registro computacional

t1 → t ′1(t1 t2) → (t ′1 t2)

(APP1)

t2 → t ′2(v1 t2) → (v1 t

′2)

(APP2)

(λx .t) v → t[v/x ](β)

(λ!x .t) !t ′ → t[t ′/x ](!β1) Si x ∈F (t)

(λ!x .t) !t ′ → t(!β2) Si x /∈ F (t)

|cU φ〉 → U |φ〉(U)

Observación: Llegamos a un conjunto de reglas de reducción simpley que nos permite razonar sobre los cómputos sin tener queacarrear el historial.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 156: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Teorema

En el cálculo cuántico λq, la evolución del registro computacional

está gobernada por las reglas de reducción que se listan a

continuación.

Reglas de reducción del registro computacional

t1 → t ′1(t1 t2) → (t ′1 t2)

(APP1)

t2 → t ′2(v1 t2) → (v1 t

′2)

(APP2)

(λx .t) v → t[v/x ](β)

(λ!x .t) !t ′ → t[t ′/x ](!β1) Si x ∈F (t)

(λ!x .t) !t ′ → t(!β2) Si x /∈ F (t)

|cU φ〉 → U |φ〉(U)

Observación: Llegamos a un conjunto de reglas de reducción simpley que nos permite razonar sobre los cómputos sin tener queacarrear el historial.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 157: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Teorema

En el cálculo cuántico λq, la evolución del registro computacional

está gobernada por las reglas de reducción que se listan a

continuación.

Reglas de reducción del registro computacional

t1 → t ′1(t1 t2) → (t ′1 t2)

(APP1)

t2 → t ′2(v1 t2) → (v1 t

′2)

(APP2)

(λx .t) v → t[v/x ](β)

(λ!x .t) !t ′ → t[t ′/x ](!β1) Si x ∈F (t)

(λ!x .t) !t ′ → t(!β2) Si x /∈ F (t)

|cU φ〉 → U |φ〉(U)

Observación: Llegamos a un conjunto de reglas de reducción simpley que nos permite razonar sobre los cómputos sin tener queacarrear el historial.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 158: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Teorema

En el cálculo cuántico λq, la evolución del registro computacional

está gobernada por las reglas de reducción que se listan a

continuación.

Reglas de reducción del registro computacional

t1 → t ′1(t1 t2) → (t ′1 t2)

(APP1)

t2 → t ′2(v1 t2) → (v1 t

′2)

(APP2)

(λx .t) v → t[v/x ](β)

(λ!x .t) !t ′ → t[t ′/x ](!β1) Si x ∈F (t)

(λ!x .t) !t ′ → t(!β2) Si x /∈ F (t)

|cU φ〉 → U |φ〉(U)

Observación: Llegamos a un conjunto de reglas de reducción simpley que nos permite razonar sobre los cómputos sin tener queacarrear el historial.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 159: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Teorema

En el cálculo cuántico λq, la evolución del registro computacional

está gobernada por las reglas de reducción que se listan a

continuación.

Reglas de reducción del registro computacional

t1 → t ′1(t1 t2) → (t ′1 t2)

(APP1)

t2 → t ′2(v1 t2) → (v1 t

′2)

(APP2)

(λx .t) v → t[v/x ](β)

(λ!x .t) !t ′ → t[t ′/x ](!β1) Si x ∈F (t)

(λ!x .t) !t ′ → t(!β2) Si x /∈ F (t)

|cU φ〉 → U |φ〉(U)

Observación: Llegamos a un conjunto de reglas de reducción simpley que nos permite razonar sobre los cómputos sin tener queacarrear el historial.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 160: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Teorema

En el cálculo cuántico λq, la evolución del registro computacional

está gobernada por las reglas de reducción que se listan a

continuación.

Reglas de reducción del registro computacional

t1 → t ′1(t1 t2) → (t ′1 t2)

(APP1)

t2 → t ′2(v1 t2) → (v1 t

′2)

(APP2)

(λx .t) v → t[v/x ](β)

(λ!x .t) !t ′ → t[t ′/x ](!β1) Si x ∈F (t)

(λ!x .t) !t ′ → t(!β2) Si x /∈ F (t)

|cU φ〉 → U |φ〉(U)

Observación: Llegamos a un conjunto de reglas de reducción simpley que nos permite razonar sobre los cómputos sin tener queacarrear el historial.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 161: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ahora, para presentar la teoría ecuacional, listamos el conjunto deaxiomas y reglas de inferencia de dicha teoría.

Sistema de prueba ecuacional para el cálculo cuántico λq

t = t(re�)

t1 = t2t2 = t1

(sim)

t1 = t2 t2 = t3t1 = t3

(trans)

t1 = t2 t3 = t4(t1 t3) = (t2 t4)

(app)

t1 = t2λx .t1 = λx .t2

(λ1)

t1 = t2λ!x .t1 = λ!x .t2

(λ2)

(λx .t) v = t[v/x ](β)

(λ!x .t) !t ′ = t[t ′/x ](!β1) Si x ∈F (t)

(λ!x .t) !t ′ = t(!β2) Si x /∈ F (t)

|cU φ〉 = U |φ〉(U)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 162: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ahora, para presentar la teoría ecuacional, listamos el conjunto deaxiomas y reglas de inferencia de dicha teoría.

Sistema de prueba ecuacional para el cálculo cuántico λq

t = t(re�)

t1 = t2t2 = t1

(sim)

t1 = t2 t2 = t3t1 = t3

(trans)

t1 = t2 t3 = t4(t1 t3) = (t2 t4)

(app)

t1 = t2λx .t1 = λx .t2

(λ1)

t1 = t2λ!x .t1 = λ!x .t2

(λ2)

(λx .t) v = t[v/x ](β)

(λ!x .t) !t ′ = t[t ′/x ](!β1) Si x ∈F (t)

(λ!x .t) !t ′ = t(!β2) Si x /∈ F (t)

|cU φ〉 = U |φ〉(U)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 163: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ahora, para presentar la teoría ecuacional, listamos el conjunto deaxiomas y reglas de inferencia de dicha teoría.

Sistema de prueba ecuacional para el cálculo cuántico λq

t = t(re�)

t1 = t2t2 = t1

(sim)

t1 = t2 t2 = t3t1 = t3

(trans)

t1 = t2 t3 = t4(t1 t3) = (t2 t4)

(app)

t1 = t2λx .t1 = λx .t2

(λ1)

t1 = t2λ!x .t1 = λ!x .t2

(λ2)

(λx .t) v = t[v/x ](β)

(λ!x .t) !t ′ = t[t ′/x ](!β1) Si x ∈F (t)

(λ!x .t) !t ′ = t(!β2) Si x /∈ F (t)

|cU φ〉 = U |φ〉(U)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 164: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ahora, para presentar la teoría ecuacional, listamos el conjunto deaxiomas y reglas de inferencia de dicha teoría.

Sistema de prueba ecuacional para el cálculo cuántico λq

t = t(re�)

t1 = t2t2 = t1

(sim)

t1 = t2 t2 = t3t1 = t3

(trans)

t1 = t2 t3 = t4(t1 t3) = (t2 t4)

(app)

t1 = t2λx .t1 = λx .t2

(λ1)

t1 = t2λ!x .t1 = λ!x .t2

(λ2)

(λx .t) v = t[v/x ](β)

(λ!x .t) !t ′ = t[t ′/x ](!β1) Si x ∈F (t)

(λ!x .t) !t ′ = t(!β2) Si x /∈ F (t)

|cU φ〉 = U |φ〉(U)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 165: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ahora, para presentar la teoría ecuacional, listamos el conjunto deaxiomas y reglas de inferencia de dicha teoría.

Sistema de prueba ecuacional para el cálculo cuántico λq

t = t(re�)

t1 = t2t2 = t1

(sim)

t1 = t2 t2 = t3t1 = t3

(trans)

t1 = t2 t3 = t4(t1 t3) = (t2 t4)

(app)

t1 = t2λx .t1 = λx .t2

(λ1)

t1 = t2λ!x .t1 = λ!x .t2

(λ2)

(λx .t) v = t[v/x ](β)

(λ!x .t) !t ′ = t[t ′/x ](!β1) Si x ∈F (t)

(λ!x .t) !t ′ = t(!β2) Si x /∈ F (t)

|cU φ〉 = U |φ〉(U)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 166: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ahora, para presentar la teoría ecuacional, listamos el conjunto deaxiomas y reglas de inferencia de dicha teoría.

Sistema de prueba ecuacional para el cálculo cuántico λq

t = t(re�)

t1 = t2t2 = t1

(sim)

t1 = t2 t2 = t3t1 = t3

(trans)

t1 = t2 t3 = t4(t1 t3) = (t2 t4)

(app)

t1 = t2λx .t1 = λx .t2

(λ1)

t1 = t2λ!x .t1 = λ!x .t2

(λ2)

(λx .t) v = t[v/x ](β)

(λ!x .t) !t ′ = t[t ′/x ](!β1) Si x ∈F (t)

(λ!x .t) !t ′ = t(!β2) Si x /∈ F (t)

|cU φ〉 = U |φ〉(U)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 167: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ahora, para presentar la teoría ecuacional, listamos el conjunto deaxiomas y reglas de inferencia de dicha teoría.

Sistema de prueba ecuacional para el cálculo cuántico λq

t = t(re�)

t1 = t2t2 = t1

(sim)

t1 = t2 t2 = t3t1 = t3

(trans)

t1 = t2 t3 = t4(t1 t3) = (t2 t4)

(app)

t1 = t2λx .t1 = λx .t2

(λ1)

t1 = t2λ!x .t1 = λ!x .t2

(λ2)

(λx .t) v = t[v/x ](β)

(λ!x .t) !t ′ = t[t ′/x ](!β1) Si x ∈F (t)

(λ!x .t) !t ′ = t(!β2) Si x /∈ F (t)

|cU φ〉 = U |φ〉(U)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 168: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ahora, para presentar la teoría ecuacional, listamos el conjunto deaxiomas y reglas de inferencia de dicha teoría.

Sistema de prueba ecuacional para el cálculo cuántico λq

t = t(re�)

t1 = t2t2 = t1

(sim)

t1 = t2 t2 = t3t1 = t3

(trans)

t1 = t2 t3 = t4(t1 t3) = (t2 t4)

(app)

t1 = t2λx .t1 = λx .t2

(λ1)

t1 = t2λ!x .t1 = λ!x .t2

(λ2)

(λx .t) v = t[v/x ](β)

(λ!x .t) !t ′ = t[t ′/x ](!β1) Si x ∈F (t)

(λ!x .t) !t ′ = t(!β2) Si x /∈ F (t)

|cU φ〉 = U |φ〉(U)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 169: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ahora, para presentar la teoría ecuacional, listamos el conjunto deaxiomas y reglas de inferencia de dicha teoría.

Sistema de prueba ecuacional para el cálculo cuántico λq

t = t(re�)

t1 = t2t2 = t1

(sim)

t1 = t2 t2 = t3t1 = t3

(trans)

t1 = t2 t3 = t4(t1 t3) = (t2 t4)

(app)

t1 = t2λx .t1 = λx .t2

(λ1)

t1 = t2λ!x .t1 = λ!x .t2

(λ2)

(λx .t) v = t[v/x ](β)

(λ!x .t) !t ′ = t[t ′/x ](!β1) Si x ∈F (t)

(λ!x .t) !t ′ = t(!β2) Si x /∈ F (t)

|cU φ〉 = U |φ〉(U)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 170: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Notar que no hay ninguna regla que permita sustituciones dentrode las !-suspenciones.

Teorema

En el Lambda Cálculo Cuántico, la evolución del registro

computacional procede reemplazando términos por términos iguales

de acuerdo a la teoría ecuacional anterior.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 171: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Teorema

En el Lambda Cálculo Cuántico, la evolución del registro

computacional procede reemplazando términos por términos iguales

de acuerdo a la teoría ecuacional anterior.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 172: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Cómo computa el λq

Punto Fijo

Vamos a de�nir el operador de punto �jo en λq

Veamos cómo actúa

�x !t→ (λ!f .(f !((v !v) !f ))) !t→ t !((v !v) !t)→ t !(�x !t)

Ejemplo

Si t ≡ λ!f .u�x !t → t !(�x !t) ≡ (λ!f .u) !(�x !t)→ u[(�x !t)/f ]En otras palabras, �x !t se copia a símismo en el cuerpo (u) de t a travesde la reducción.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 173: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Cómo computa el λq

Punto Fijo

Vamos a de�nir el operador de punto �jo en λq�x

Veamos cómo actúa

�x !t→ (λ!f .(f !((v !v) !f ))) !t→ t !((v !v) !t)→ t !(�x !t)

Ejemplo

Si t ≡ λ!f .u�x !t → t !(�x !t) ≡ (λ!f .u) !(�x !t)→ u[(�x !t)/f ]En otras palabras, �x !t se copia a símismo en el cuerpo (u) de t a travesde la reducción.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 174: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Cómo computa el λq

Punto Fijo

Vamos a de�nir el operador de punto �jo en λq�x ≡ ((λ!u.λ!f .(f !((u !u) !f ))) !(λ!u.λ!f .(f !((u !u) !f ))))

Veamos cómo actúa

�x !t→ (λ!f .(f !((v !v) !f ))) !t→ t !((v !v) !t)→ t !(�x !t)

Ejemplo

Si t ≡ λ!f .u�x !t → t !(�x !t) ≡ (λ!f .u) !(�x !t)→ u[(�x !t)/f ]En otras palabras, �x !t se copia a símismo en el cuerpo (u) de t a travesde la reducción.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 175: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Cómo computa el λq

Punto Fijo

Vamos a de�nir el operador de punto �jo en λq�x ≡ ((λ!u.λ!f .(f !((u !u) !f )))︸ ︷︷ ︸

v

!(λ!u.λ!f .(f !((u !u) !f )))︸ ︷︷ ︸v

)

Veamos cómo actúa

�x !t→ (λ!f .(f !((v !v) !f ))) !t→ t !((v !v) !t)→ t !(�x !t)

Ejemplo

Si t ≡ λ!f .u�x !t → t !(�x !t) ≡ (λ!f .u) !(�x !t)→ u[(�x !t)/f ]En otras palabras, �x !t se copia a símismo en el cuerpo (u) de t a travesde la reducción.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 176: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Cómo computa el λq

Punto Fijo

Vamos a de�nir el operador de punto �jo en λq�x ≡ ((λ!u.λ!f .(f !((u !u) !f )))︸ ︷︷ ︸

v

!(λ!u.λ!f .(f !((u !u) !f )))︸ ︷︷ ︸v

) = (v !v)

Veamos cómo actúa

�x !t→ (λ!f .(f !((v !v) !f ))) !t→ t !((v !v) !t)→ t !(�x !t)

Ejemplo

Si t ≡ λ!f .u�x !t → t !(�x !t) ≡ (λ!f .u) !(�x !t)→ u[(�x !t)/f ]En otras palabras, �x !t se copia a símismo en el cuerpo (u) de t a travesde la reducción.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 177: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Cómo computa el λq

Punto Fijo

Vamos a de�nir el operador de punto �jo en λq�x ≡ ((λ!u.λ!f .(f !((u !u) !f )))︸ ︷︷ ︸

v

!(λ!u.λ!f .(f !((u !u) !f )))︸ ︷︷ ︸v

) = (v !v)

Veamos cómo actúa

�x !t

→ (λ!f .(f !((v !v) !f ))) !t→ t !((v !v) !t)→ t !(�x !t)

Ejemplo

Si t ≡ λ!f .u�x !t → t !(�x !t) ≡ (λ!f .u) !(�x !t)→ u[(�x !t)/f ]En otras palabras, �x !t se copia a símismo en el cuerpo (u) de t a travesde la reducción.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 178: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Cómo computa el λq

Punto Fijo

Vamos a de�nir el operador de punto �jo en λq�x ≡ ((λ!u.λ!f .(f !((u !u) !f )))︸ ︷︷ ︸

v

!(λ!u.λ!f .(f !((u !u) !f )))︸ ︷︷ ︸v

) = (v !v)

Veamos cómo actúa

�x !t→ (λ!f .(f !((v !v) !f ))) !t

→ t !((v !v) !t)→ t !(�x !t)

Ejemplo

Si t ≡ λ!f .u�x !t → t !(�x !t) ≡ (λ!f .u) !(�x !t)→ u[(�x !t)/f ]En otras palabras, �x !t se copia a símismo en el cuerpo (u) de t a travesde la reducción.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 179: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Cómo computa el λq

Punto Fijo

Vamos a de�nir el operador de punto �jo en λq�x ≡ ((λ!u.λ!f .(f !((u !u) !f )))︸ ︷︷ ︸

v

!(λ!u.λ!f .(f !((u !u) !f )))︸ ︷︷ ︸v

) = (v !v)

Veamos cómo actúa

�x !t→ (λ!f .(f !((v !v) !f ))) !t→ t !((v !v) !t)

→ t !(�x !t)

Ejemplo

Si t ≡ λ!f .u�x !t → t !(�x !t) ≡ (λ!f .u) !(�x !t)→ u[(�x !t)/f ]En otras palabras, �x !t se copia a símismo en el cuerpo (u) de t a travesde la reducción.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 180: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Cómo computa el λq

Punto Fijo

Vamos a de�nir el operador de punto �jo en λq�x ≡ ((λ!u.λ!f .(f !((u !u) !f )))︸ ︷︷ ︸

v

!(λ!u.λ!f .(f !((u !u) !f )))︸ ︷︷ ︸v

) = (v !v)

Veamos cómo actúa

�x !t→ (λ!f .(f !((v !v) !f ))) !t→ t !((v !v) !t)→ t !(�x !t)

Ejemplo

Si t ≡ λ!f .u�x !t → t !(�x !t) ≡ (λ!f .u) !(�x !t)→ u[(�x !t)/f ]En otras palabras, �x !t se copia a símismo en el cuerpo (u) de t a travesde la reducción.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 181: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Cómo computa el λq

Punto Fijo

Vamos a de�nir el operador de punto �jo en λq�x ≡ ((λ!u.λ!f .(f !((u !u) !f )))︸ ︷︷ ︸

v

!(λ!u.λ!f .(f !((u !u) !f )))︸ ︷︷ ︸v

) = (v !v)

Veamos cómo actúa

�x !t→ (λ!f .(f !((v !v) !f ))) !t→ t !((v !v) !t)→ t !(�x !t)

Ejemplo

Si t ≡ λ!f .u

�x !t → t !(�x !t) ≡ (λ!f .u) !(�x !t)→ u[(�x !t)/f ]En otras palabras, �x !t se copia a símismo en el cuerpo (u) de t a travesde la reducción.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 182: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Cómo computa el λq

Punto Fijo

Vamos a de�nir el operador de punto �jo en λq�x ≡ ((λ!u.λ!f .(f !((u !u) !f )))︸ ︷︷ ︸

v

!(λ!u.λ!f .(f !((u !u) !f )))︸ ︷︷ ︸v

) = (v !v)

Veamos cómo actúa

�x !t→ (λ!f .(f !((v !v) !f ))) !t→ t !((v !v) !t)→ t !(�x !t)

Ejemplo

Si t ≡ λ!f .u�x !t → t !(�x !t)

≡ (λ!f .u) !(�x !t)→ u[(�x !t)/f ]En otras palabras, �x !t se copia a símismo en el cuerpo (u) de t a travesde la reducción.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 183: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Cómo computa el λq

Punto Fijo

Vamos a de�nir el operador de punto �jo en λq�x ≡ ((λ!u.λ!f .(f !((u !u) !f )))︸ ︷︷ ︸

v

!(λ!u.λ!f .(f !((u !u) !f )))︸ ︷︷ ︸v

) = (v !v)

Veamos cómo actúa

�x !t→ (λ!f .(f !((v !v) !f ))) !t→ t !((v !v) !t)→ t !(�x !t)

Ejemplo

Si t ≡ λ!f .u�x !t → t !(�x !t) ≡ (λ!f .u) !(�x !t)

→ u[(�x !t)/f ]En otras palabras, �x !t se copia a símismo en el cuerpo (u) de t a travesde la reducción.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 184: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Cómo computa el λq

Punto Fijo

Vamos a de�nir el operador de punto �jo en λq�x ≡ ((λ!u.λ!f .(f !((u !u) !f )))︸ ︷︷ ︸

v

!(λ!u.λ!f .(f !((u !u) !f )))︸ ︷︷ ︸v

) = (v !v)

Veamos cómo actúa

�x !t→ (λ!f .(f !((v !v) !f ))) !t→ t !((v !v) !t)→ t !(�x !t)

Ejemplo

Si t ≡ λ!f .u�x !t → t !(�x !t) ≡ (λ!f .u) !(�x !t)→ u[(�x !t)/f ]

En otras palabras, �x !t se copia a símismo en el cuerpo (u) de t a travesde la reducción.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 185: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Cómo computa el λq

Punto Fijo

Vamos a de�nir el operador de punto �jo en λq�x ≡ ((λ!u.λ!f .(f !((u !u) !f )))︸ ︷︷ ︸

v

!(λ!u.λ!f .(f !((u !u) !f )))︸ ︷︷ ︸v

) = (v !v)

Veamos cómo actúa

�x !t→ (λ!f .(f !((v !v) !f ))) !t→ t !((v !v) !t)→ t !(�x !t)

Ejemplo

Si t ≡ λ!f .u�x !t → t !(�x !t) ≡ (λ!f .u) !(�x !t)→ u[(�x !t)/f ]En otras palabras, �x !t se copia a símismo en el cuerpo (u) de t a travesde la reducción.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 186: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ejemplos

Un algoritmo muy conocido en Computación Cuántica es elllamado �Algoritmo de Deutsch�[NC00].

Circuito cuántico

|0〉 HUf

H FE |1〉 H

Donde Uf es una compuertaque actúa de la siguientemanera

Uf |x , y〉 = |x , y ⊕ f (x)〉

donde f es alguna funcióndesconocida de 1 bit.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 187: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ejemplos

Un algoritmo muy conocido en Computación Cuántica es elllamado �Algoritmo de Deutsch�[NC00].

Circuito cuántico

|0〉 HUf

H FE |1〉 H

Donde Uf es una compuertaque actúa de la siguientemanera

Uf |x , y〉 = |x , y ⊕ f (x)〉

donde f es alguna funcióndesconocida de 1 bit.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 188: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ejemplos

Un algoritmo muy conocido en Computación Cuántica es elllamado �Algoritmo de Deutsch�[NC00].

Circuito cuántico

|0〉 HUf

H FE |1〉 H

Donde Uf es una compuertaque actúa de la siguientemanera

Uf |x , y〉 = |x , y ⊕ f (x)〉

donde f es alguna funcióndesconocida de 1 bit.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 189: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

La salida de este circuito será{± |0〉 |+〉 si f (0) = f (1)± |1〉 |+〉 si f (0) 6= f (1)

Ver demostración

Por lo tanto, midiendo el primer qubit se puede saber si f esconstante o no.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 190: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

La salida de este circuito será{± |0〉 |+〉 si f (0) = f (1)± |1〉 |+〉 si f (0) 6= f (1)

Ver demostración

Por lo tanto, midiendo el primer qubit se puede saber si f esconstante o no.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 191: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

En Lambda Cálculo Cuántico se podría escribir así:

Deutsch

deutsch Uf ≡ let (x , y) = Uf ((H 0), (H 1)) in((H x), y)

Ejemplo

Sea f la función identidad. Entonces, es fácil ver que

Uf |00〉 → |00〉Uf |01〉 → |01〉Uf |10〉 → |11〉Uf |11〉 → |10〉∴ Uf ≡ cnot

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 192: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

En Lambda Cálculo Cuántico se podría escribir así:

Deutsch

deutsch Uf ≡ let (x , y) = Uf ((H 0), (H 1)) in((H x), y)

Ejemplo

Sea f la función identidad. Entonces, es fácil ver que

Uf |00〉 → |00〉Uf |01〉 → |01〉Uf |10〉 → |11〉Uf |11〉 → |10〉∴ Uf ≡ cnot

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 193: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

En Lambda Cálculo Cuántico se podría escribir así:

Deutsch

deutsch Uf ≡ let (x , y) = Uf ((H 0), (H 1)) in((H x), y)

Ejemplo

Sea f la función identidad. Entonces, es fácil ver que

Uf |00〉 → |00〉Uf |01〉 → |01〉Uf |10〉 → |11〉Uf |11〉 → |10〉

∴ Uf ≡ cnot

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 194: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

En Lambda Cálculo Cuántico se podría escribir así:

Deutsch

deutsch Uf ≡ let (x , y) = Uf ((H 0), (H 1)) in((H x), y)

Ejemplo

Sea f la función identidad. Entonces, es fácil ver que

Uf |00〉 → |00〉Uf |01〉 → |01〉Uf |10〉 → |11〉Uf |11〉 → |10〉∴ Uf ≡ cnot

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 195: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ejemplo

Entonces

deutsch cnot ≡ let (x , y) = cnot ((H 0), (H 1)) in((H x), y)

Desarrollemos cnot ((H 0), (H 1))cnot ((H 0), (H 1)) = cnot (12(|0〉+ |1〉), 1

2(|0〉 − |1〉))= cnot (12(|00〉 − |01〉+ |10〉 − |11〉))= 1

2(|00〉 − |01〉+ |11〉 − |10〉) = ( 1√2(|0〉 − |1〉), 1√

2(|0〉 − |1〉))

Volviendo: let (x , y) = ( 1√2(|0〉 − |1〉), 1√

2(|0〉 − |1〉)) in

((H x), y) = (H ( 1√2(|0〉 − |1〉)), 1√

2(|0〉 − |1〉))

= |1〉 ⊗ 1√2(|0〉 − |1〉)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 196: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ejemplo

Entonces

deutsch cnot ≡ let (x , y) = cnot ((H 0), (H 1)) in((H x), y)

Desarrollemos cnot ((H 0), (H 1))

cnot ((H 0), (H 1)) = cnot (12(|0〉+ |1〉), 12(|0〉 − |1〉))

= cnot (12(|00〉 − |01〉+ |10〉 − |11〉))= 1

2(|00〉 − |01〉+ |11〉 − |10〉) = ( 1√2(|0〉 − |1〉), 1√

2(|0〉 − |1〉))

Volviendo: let (x , y) = ( 1√2(|0〉 − |1〉), 1√

2(|0〉 − |1〉)) in

((H x), y) = (H ( 1√2(|0〉 − |1〉)), 1√

2(|0〉 − |1〉))

= |1〉 ⊗ 1√2(|0〉 − |1〉)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 197: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ejemplo

Entonces

deutsch cnot ≡ let (x , y) = cnot ((H 0), (H 1)) in((H x), y)

Desarrollemos cnot ((H 0), (H 1))cnot ((H 0), (H 1))

= cnot (12(|0〉+ |1〉), 12(|0〉 − |1〉))

= cnot (12(|00〉 − |01〉+ |10〉 − |11〉))= 1

2(|00〉 − |01〉+ |11〉 − |10〉) = ( 1√2(|0〉 − |1〉), 1√

2(|0〉 − |1〉))

Volviendo: let (x , y) = ( 1√2(|0〉 − |1〉), 1√

2(|0〉 − |1〉)) in

((H x), y) = (H ( 1√2(|0〉 − |1〉)), 1√

2(|0〉 − |1〉))

= |1〉 ⊗ 1√2(|0〉 − |1〉)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 198: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ejemplo

Entonces

deutsch cnot ≡ let (x , y) = cnot ((H 0), (H 1)) in((H x), y)

Desarrollemos cnot ((H 0), (H 1))cnot ((H 0), (H 1)) = cnot (12(|0〉+ |1〉), 1

2(|0〉 − |1〉))

= cnot (12(|00〉 − |01〉+ |10〉 − |11〉))= 1

2(|00〉 − |01〉+ |11〉 − |10〉) = ( 1√2(|0〉 − |1〉), 1√

2(|0〉 − |1〉))

Volviendo: let (x , y) = ( 1√2(|0〉 − |1〉), 1√

2(|0〉 − |1〉)) in

((H x), y) = (H ( 1√2(|0〉 − |1〉)), 1√

2(|0〉 − |1〉))

= |1〉 ⊗ 1√2(|0〉 − |1〉)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 199: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ejemplo

Entonces

deutsch cnot ≡ let (x , y) = cnot ((H 0), (H 1)) in((H x), y)

Desarrollemos cnot ((H 0), (H 1))cnot ((H 0), (H 1)) = cnot (12(|0〉+ |1〉), 1

2(|0〉 − |1〉))= cnot (12(|00〉 − |01〉+ |10〉 − |11〉))

= 12(|00〉 − |01〉+ |11〉 − |10〉) = ( 1√

2(|0〉 − |1〉), 1√

2(|0〉 − |1〉))

Volviendo: let (x , y) = ( 1√2(|0〉 − |1〉), 1√

2(|0〉 − |1〉)) in

((H x), y) = (H ( 1√2(|0〉 − |1〉)), 1√

2(|0〉 − |1〉))

= |1〉 ⊗ 1√2(|0〉 − |1〉)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 200: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ejemplo

Entonces

deutsch cnot ≡ let (x , y) = cnot ((H 0), (H 1)) in((H x), y)

Desarrollemos cnot ((H 0), (H 1))cnot ((H 0), (H 1)) = cnot (12(|0〉+ |1〉), 1

2(|0〉 − |1〉))= cnot (12(|00〉 − |01〉+ |10〉 − |11〉))= 1

2(|00〉 − |01〉+ |11〉 − |10〉)

= ( 1√2(|0〉 − |1〉), 1√

2(|0〉 − |1〉))

Volviendo: let (x , y) = ( 1√2(|0〉 − |1〉), 1√

2(|0〉 − |1〉)) in

((H x), y) = (H ( 1√2(|0〉 − |1〉)), 1√

2(|0〉 − |1〉))

= |1〉 ⊗ 1√2(|0〉 − |1〉)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 201: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ejemplo

Entonces

deutsch cnot ≡ let (x , y) = cnot ((H 0), (H 1)) in((H x), y)

Desarrollemos cnot ((H 0), (H 1))cnot ((H 0), (H 1)) = cnot (12(|0〉+ |1〉), 1

2(|0〉 − |1〉))= cnot (12(|00〉 − |01〉+ |10〉 − |11〉))= 1

2(|00〉 − |01〉+ |11〉 − |10〉) = ( 1√2(|0〉 − |1〉), 1√

2(|0〉 − |1〉))

Volviendo: let (x , y) = ( 1√2(|0〉 − |1〉), 1√

2(|0〉 − |1〉)) in

((H x), y) = (H ( 1√2(|0〉 − |1〉)), 1√

2(|0〉 − |1〉))

= |1〉 ⊗ 1√2(|0〉 − |1〉)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 202: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ejemplo

Entonces

deutsch cnot ≡ let (x , y) = cnot ((H 0), (H 1)) in((H x), y)

Desarrollemos cnot ((H 0), (H 1))cnot ((H 0), (H 1)) = cnot (12(|0〉+ |1〉), 1

2(|0〉 − |1〉))= cnot (12(|00〉 − |01〉+ |10〉 − |11〉))= 1

2(|00〉 − |01〉+ |11〉 − |10〉) = ( 1√2(|0〉 − |1〉), 1√

2(|0〉 − |1〉))

Volviendo: let (x , y) = ( 1√2(|0〉 − |1〉), 1√

2(|0〉 − |1〉)) in

((H x), y)

= (H ( 1√2(|0〉 − |1〉)), 1√

2(|0〉 − |1〉))

= |1〉 ⊗ 1√2(|0〉 − |1〉)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 203: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ejemplo

Entonces

deutsch cnot ≡ let (x , y) = cnot ((H 0), (H 1)) in((H x), y)

Desarrollemos cnot ((H 0), (H 1))cnot ((H 0), (H 1)) = cnot (12(|0〉+ |1〉), 1

2(|0〉 − |1〉))= cnot (12(|00〉 − |01〉+ |10〉 − |11〉))= 1

2(|00〉 − |01〉+ |11〉 − |10〉) = ( 1√2(|0〉 − |1〉), 1√

2(|0〉 − |1〉))

Volviendo: let (x , y) = ( 1√2(|0〉 − |1〉), 1√

2(|0〉 − |1〉)) in

((H x), y) = (H ( 1√2(|0〉 − |1〉)), 1√

2(|0〉 − |1〉))

= |1〉 ⊗ 1√2(|0〉 − |1〉)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 204: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Primer IntentoSegundo IntentoTercer (y último) intentoCómo computa el λq

Ejemplos

Ejemplo

Entonces

deutsch cnot ≡ let (x , y) = cnot ((H 0), (H 1)) in((H x), y)

Desarrollemos cnot ((H 0), (H 1))cnot ((H 0), (H 1)) = cnot (12(|0〉+ |1〉), 1

2(|0〉 − |1〉))= cnot (12(|00〉 − |01〉+ |10〉 − |11〉))= 1

2(|00〉 − |01〉+ |11〉 − |10〉) = ( 1√2(|0〉 − |1〉), 1√

2(|0〉 − |1〉))

Volviendo: let (x , y) = ( 1√2(|0〉 − |1〉), 1√

2(|0〉 − |1〉)) in

((H x), y) = (H ( 1√2(|0〉 − |1〉)), 1√

2(|0〉 − |1〉))

= |1〉 ⊗ 1√2(|0〉 − |1〉)

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 205: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Muchas gracias(a quienes no se fueron a mitad de la charla)

FIN

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 206: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Muchas gracias(a quienes no se fueron a mitad de la charla)

FIN

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 207: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Bibliografía I

Samson Abramsky.Computational interpretations of linear logic.Theoretical Computer Science, 111(1�2):3�57, 1993.

Paul Benio�.The computer as a physical system: A microscopic quantummechanical hamiltonian model of computers as represented byturing machines.Journal of Statistical Physics, V22(5):563�591, May 1980.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 208: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Bibliografía II

David Deutsch.Quantum theory, the church-turing principle and the universalquantum computer.Proceedings of the Royal Society of London. Series A,

Mathematical and Physical Sciences, 400(1818):97�117, 1985.

David Deutsch.Quantum computational networks.Proceedings of the Royal Society of London. Series A,

Mathematical and Physical Sciences, 425(1868):73�90, 1989.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 209: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Bibliografía III

John Maraist, Martin Odersky, DavidÑ. Turner, and PhilipWadler.Call-by-name call-by-value, call-by-need and the linear lambdacalculus.Theoretical Computer Science, 228(1-2):175�210, 1999.

Michael Nielsen and Isaac Chuang.Quantum Computation and Quantum Information.Cambridge University Press, October 2000.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 210: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Bibliografía IV

Robert A. G. Seely.Linear logic, ∗-autonomous categories and cofree coalgebras.In John W. Gray and Andre Scedrov, editors, Categories inComputer Science and Logic, volume 92, pages 371�382,Providence, Rhode Island, 1989. American MathematicalSociety.

André van Tonder.A lambda calculus for quantum computation.SIAM Journal on Computing, 33(5):1109�1135, 2004.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 211: Qlambda

Introducciónλ-Cálculo Cuántico

ConclusiónBibliografía

Bibliografía V

Philip Wadler.A syntax for linear logic.In Proceedings of the 9th International Conference on

Mathematical Foundations of Programming Semantics, pages513�529, London, UK, 1994. Springer-Verlag.

Andrew Yao.Quantum circuit complexity.In Proceedings of the 34th Annual Symposium on Foundations

of Computer Science, pages 352�361, Los Alamitos, CA, 1993.Institute of Electrical and Electronic Engineers ComputerSociety Press.

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 212: Qlambda

ApéndiceDesarrollo del Algoritmo de DeutschFormalización del tx

AnexoDesarrollo del Algoritmo de Deutsch

|01〉

H(1,2)−→

12(|0〉+ |1〉)(|0〉 − |1〉) = 1

2(|00〉 − |01〉+ |10〉 − |11〉)Uf

−→12(Uf |00〉 − Uf |01〉+ Uf |10〉 − Uf |11〉)

= 12(|0, f (0)〉 − |0,¬f (0)〉+ |1, f (1)〉 − |1,¬f (1)〉)

= 12(|0〉 (|f (0)〉 − |¬f (0)〉) + |1〉 (|f (1)〉 − |¬f (1)〉))

H(1)−→

12√2((|0〉+|1〉)(|f (0)〉−|¬f (0)〉)+(|0〉−|1〉)(|f (1)〉−|¬f (1)〉))

Si f (0) = f (1)= 1

2√2(|0〉 (|f (0)〉 − |¬f (0)〉+

|f (0)〉 − |¬f (0)〉) + |1〉 (|f (0)〉 −|¬f (0)〉 − |f (0)〉+ |¬f (0)〉))= 1

2√2(|0〉 (2 |f (0)〉 − 2 |¬f (0)〉))

= |0〉 (± 1√2(|0〉+ |1〉))

Si f (0) 6= f (1)= 1

2√2(|0〉 (|f (0)〉 − |¬f (0)〉 −

|f (0)〉+ |¬f (0)〉) + |1〉 (|f (0)〉 −|¬f (0)〉+ |f (0)〉 − |¬f (0)〉))= 1

2√2(|1〉 (2 |f (0)〉 − 2 |¬f (0)〉))

= |1〉 (± 1√2(|0〉+ |1〉))

Volver

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 213: Qlambda

ApéndiceDesarrollo del Algoritmo de DeutschFormalización del tx

AnexoDesarrollo del Algoritmo de Deutsch

|01〉 H(1,2)−→

12(|0〉+ |1〉)(|0〉 − |1〉)

= 12(|00〉 − |01〉+ |10〉 − |11〉)

Uf

−→12(Uf |00〉 − Uf |01〉+ Uf |10〉 − Uf |11〉)

= 12(|0, f (0)〉 − |0,¬f (0)〉+ |1, f (1)〉 − |1,¬f (1)〉)

= 12(|0〉 (|f (0)〉 − |¬f (0)〉) + |1〉 (|f (1)〉 − |¬f (1)〉))

H(1)−→

12√2((|0〉+|1〉)(|f (0)〉−|¬f (0)〉)+(|0〉−|1〉)(|f (1)〉−|¬f (1)〉))

Si f (0) = f (1)= 1

2√2(|0〉 (|f (0)〉 − |¬f (0)〉+

|f (0)〉 − |¬f (0)〉) + |1〉 (|f (0)〉 −|¬f (0)〉 − |f (0)〉+ |¬f (0)〉))= 1

2√2(|0〉 (2 |f (0)〉 − 2 |¬f (0)〉))

= |0〉 (± 1√2(|0〉+ |1〉))

Si f (0) 6= f (1)= 1

2√2(|0〉 (|f (0)〉 − |¬f (0)〉 −

|f (0)〉+ |¬f (0)〉) + |1〉 (|f (0)〉 −|¬f (0)〉+ |f (0)〉 − |¬f (0)〉))= 1

2√2(|1〉 (2 |f (0)〉 − 2 |¬f (0)〉))

= |1〉 (± 1√2(|0〉+ |1〉))

Volver

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 214: Qlambda

ApéndiceDesarrollo del Algoritmo de DeutschFormalización del tx

AnexoDesarrollo del Algoritmo de Deutsch

|01〉 H(1,2)−→

12(|0〉+ |1〉)(|0〉 − |1〉) = 1

2(|00〉 − |01〉+ |10〉 − |11〉)

Uf

−→12(Uf |00〉 − Uf |01〉+ Uf |10〉 − Uf |11〉)

= 12(|0, f (0)〉 − |0,¬f (0)〉+ |1, f (1)〉 − |1,¬f (1)〉)

= 12(|0〉 (|f (0)〉 − |¬f (0)〉) + |1〉 (|f (1)〉 − |¬f (1)〉))

H(1)−→

12√2((|0〉+|1〉)(|f (0)〉−|¬f (0)〉)+(|0〉−|1〉)(|f (1)〉−|¬f (1)〉))

Si f (0) = f (1)= 1

2√2(|0〉 (|f (0)〉 − |¬f (0)〉+

|f (0)〉 − |¬f (0)〉) + |1〉 (|f (0)〉 −|¬f (0)〉 − |f (0)〉+ |¬f (0)〉))= 1

2√2(|0〉 (2 |f (0)〉 − 2 |¬f (0)〉))

= |0〉 (± 1√2(|0〉+ |1〉))

Si f (0) 6= f (1)= 1

2√2(|0〉 (|f (0)〉 − |¬f (0)〉 −

|f (0)〉+ |¬f (0)〉) + |1〉 (|f (0)〉 −|¬f (0)〉+ |f (0)〉 − |¬f (0)〉))= 1

2√2(|1〉 (2 |f (0)〉 − 2 |¬f (0)〉))

= |1〉 (± 1√2(|0〉+ |1〉))

Volver

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 215: Qlambda

ApéndiceDesarrollo del Algoritmo de DeutschFormalización del tx

AnexoDesarrollo del Algoritmo de Deutsch

|01〉 H(1,2)−→

12(|0〉+ |1〉)(|0〉 − |1〉) = 1

2(|00〉 − |01〉+ |10〉 − |11〉)Uf

−→12(Uf |00〉 − Uf |01〉+ Uf |10〉 − Uf |11〉)

= 12(|0, f (0)〉 − |0,¬f (0)〉+ |1, f (1)〉 − |1,¬f (1)〉)

= 12(|0〉 (|f (0)〉 − |¬f (0)〉) + |1〉 (|f (1)〉 − |¬f (1)〉))

H(1)−→

12√2((|0〉+|1〉)(|f (0)〉−|¬f (0)〉)+(|0〉−|1〉)(|f (1)〉−|¬f (1)〉))

Si f (0) = f (1)= 1

2√2(|0〉 (|f (0)〉 − |¬f (0)〉+

|f (0)〉 − |¬f (0)〉) + |1〉 (|f (0)〉 −|¬f (0)〉 − |f (0)〉+ |¬f (0)〉))= 1

2√2(|0〉 (2 |f (0)〉 − 2 |¬f (0)〉))

= |0〉 (± 1√2(|0〉+ |1〉))

Si f (0) 6= f (1)= 1

2√2(|0〉 (|f (0)〉 − |¬f (0)〉 −

|f (0)〉+ |¬f (0)〉) + |1〉 (|f (0)〉 −|¬f (0)〉+ |f (0)〉 − |¬f (0)〉))= 1

2√2(|1〉 (2 |f (0)〉 − 2 |¬f (0)〉))

= |1〉 (± 1√2(|0〉+ |1〉))

Volver

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 216: Qlambda

ApéndiceDesarrollo del Algoritmo de DeutschFormalización del tx

AnexoDesarrollo del Algoritmo de Deutsch

|01〉 H(1,2)−→

12(|0〉+ |1〉)(|0〉 − |1〉) = 1

2(|00〉 − |01〉+ |10〉 − |11〉)Uf

−→12(Uf |00〉 − Uf |01〉+ Uf |10〉 − Uf |11〉)

= 12(|0, f (0)〉 − |0,¬f (0)〉+ |1, f (1)〉 − |1,¬f (1)〉)

= 12(|0〉 (|f (0)〉 − |¬f (0)〉) + |1〉 (|f (1)〉 − |¬f (1)〉))

H(1)−→

12√2((|0〉+|1〉)(|f (0)〉−|¬f (0)〉)+(|0〉−|1〉)(|f (1)〉−|¬f (1)〉))

Si f (0) = f (1)= 1

2√2(|0〉 (|f (0)〉 − |¬f (0)〉+

|f (0)〉 − |¬f (0)〉) + |1〉 (|f (0)〉 −|¬f (0)〉 − |f (0)〉+ |¬f (0)〉))= 1

2√2(|0〉 (2 |f (0)〉 − 2 |¬f (0)〉))

= |0〉 (± 1√2(|0〉+ |1〉))

Si f (0) 6= f (1)= 1

2√2(|0〉 (|f (0)〉 − |¬f (0)〉 −

|f (0)〉+ |¬f (0)〉) + |1〉 (|f (0)〉 −|¬f (0)〉+ |f (0)〉 − |¬f (0)〉))= 1

2√2(|1〉 (2 |f (0)〉 − 2 |¬f (0)〉))

= |1〉 (± 1√2(|0〉+ |1〉))

Volver

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 217: Qlambda

ApéndiceDesarrollo del Algoritmo de DeutschFormalización del tx

AnexoDesarrollo del Algoritmo de Deutsch

|01〉 H(1,2)−→

12(|0〉+ |1〉)(|0〉 − |1〉) = 1

2(|00〉 − |01〉+ |10〉 − |11〉)Uf

−→12(Uf |00〉 − Uf |01〉+ Uf |10〉 − Uf |11〉)

= 12(|0, f (0)〉 − |0,¬f (0)〉+ |1, f (1)〉 − |1,¬f (1)〉)

= 12(|0〉 (|f (0)〉 − |¬f (0)〉) + |1〉 (|f (1)〉 − |¬f (1)〉))

H(1)−→

12√2((|0〉+|1〉)(|f (0)〉−|¬f (0)〉)+(|0〉−|1〉)(|f (1)〉−|¬f (1)〉))

Si f (0) = f (1)= 1

2√2(|0〉 (|f (0)〉 − |¬f (0)〉+

|f (0)〉 − |¬f (0)〉) + |1〉 (|f (0)〉 −|¬f (0)〉 − |f (0)〉+ |¬f (0)〉))= 1

2√2(|0〉 (2 |f (0)〉 − 2 |¬f (0)〉))

= |0〉 (± 1√2(|0〉+ |1〉))

Si f (0) 6= f (1)= 1

2√2(|0〉 (|f (0)〉 − |¬f (0)〉 −

|f (0)〉+ |¬f (0)〉) + |1〉 (|f (0)〉 −|¬f (0)〉+ |f (0)〉 − |¬f (0)〉))= 1

2√2(|1〉 (2 |f (0)〉 − 2 |¬f (0)〉))

= |1〉 (± 1√2(|0〉+ |1〉))

Volver

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 218: Qlambda

ApéndiceDesarrollo del Algoritmo de DeutschFormalización del tx

AnexoDesarrollo del Algoritmo de Deutsch

|01〉 H(1,2)−→

12(|0〉+ |1〉)(|0〉 − |1〉) = 1

2(|00〉 − |01〉+ |10〉 − |11〉)Uf

−→12(Uf |00〉 − Uf |01〉+ Uf |10〉 − Uf |11〉)

= 12(|0, f (0)〉 − |0,¬f (0)〉+ |1, f (1)〉 − |1,¬f (1)〉)

= 12(|0〉 (|f (0)〉 − |¬f (0)〉) + |1〉 (|f (1)〉 − |¬f (1)〉))

H(1)−→

12√2((|0〉+|1〉)(|f (0)〉−|¬f (0)〉)+(|0〉−|1〉)(|f (1)〉−|¬f (1)〉))

Si f (0) = f (1)= 1

2√2(|0〉 (|f (0)〉 − |¬f (0)〉+

|f (0)〉 − |¬f (0)〉) + |1〉 (|f (0)〉 −|¬f (0)〉 − |f (0)〉+ |¬f (0)〉))= 1

2√2(|0〉 (2 |f (0)〉 − 2 |¬f (0)〉))

= |0〉 (± 1√2(|0〉+ |1〉))

Si f (0) 6= f (1)= 1

2√2(|0〉 (|f (0)〉 − |¬f (0)〉 −

|f (0)〉+ |¬f (0)〉) + |1〉 (|f (0)〉 −|¬f (0)〉+ |f (0)〉 − |¬f (0)〉))= 1

2√2(|1〉 (2 |f (0)〉 − 2 |¬f (0)〉))

= |1〉 (± 1√2(|0〉+ |1〉))

Volver

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 219: Qlambda

ApéndiceDesarrollo del Algoritmo de DeutschFormalización del tx

AnexoDesarrollo del Algoritmo de Deutsch

|01〉 H(1,2)−→

12(|0〉+ |1〉)(|0〉 − |1〉) = 1

2(|00〉 − |01〉+ |10〉 − |11〉)Uf

−→12(Uf |00〉 − Uf |01〉+ Uf |10〉 − Uf |11〉)

= 12(|0, f (0)〉 − |0,¬f (0)〉+ |1, f (1)〉 − |1,¬f (1)〉)

= 12(|0〉 (|f (0)〉 − |¬f (0)〉) + |1〉 (|f (1)〉 − |¬f (1)〉))

H(1)−→

12√2((|0〉+|1〉)(|f (0)〉−|¬f (0)〉)+(|0〉−|1〉)(|f (1)〉−|¬f (1)〉))

Si f (0) = f (1)

= 12√2(|0〉 (|f (0)〉 − |¬f (0)〉+

|f (0)〉 − |¬f (0)〉) + |1〉 (|f (0)〉 −|¬f (0)〉 − |f (0)〉+ |¬f (0)〉))= 1

2√2(|0〉 (2 |f (0)〉 − 2 |¬f (0)〉))

= |0〉 (± 1√2(|0〉+ |1〉))

Si f (0) 6= f (1)= 1

2√2(|0〉 (|f (0)〉 − |¬f (0)〉 −

|f (0)〉+ |¬f (0)〉) + |1〉 (|f (0)〉 −|¬f (0)〉+ |f (0)〉 − |¬f (0)〉))= 1

2√2(|1〉 (2 |f (0)〉 − 2 |¬f (0)〉))

= |1〉 (± 1√2(|0〉+ |1〉))

Volver

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 220: Qlambda

ApéndiceDesarrollo del Algoritmo de DeutschFormalización del tx

AnexoDesarrollo del Algoritmo de Deutsch

|01〉 H(1,2)−→

12(|0〉+ |1〉)(|0〉 − |1〉) = 1

2(|00〉 − |01〉+ |10〉 − |11〉)Uf

−→12(Uf |00〉 − Uf |01〉+ Uf |10〉 − Uf |11〉)

= 12(|0, f (0)〉 − |0,¬f (0)〉+ |1, f (1)〉 − |1,¬f (1)〉)

= 12(|0〉 (|f (0)〉 − |¬f (0)〉) + |1〉 (|f (1)〉 − |¬f (1)〉))

H(1)−→

12√2((|0〉+|1〉)(|f (0)〉−|¬f (0)〉)+(|0〉−|1〉)(|f (1)〉−|¬f (1)〉))

Si f (0) = f (1)= 1

2√2(|0〉 (|f (0)〉 − |¬f (0)〉+

|f (0)〉 − |¬f (0)〉) + |1〉 (|f (0)〉 −|¬f (0)〉 − |f (0)〉+ |¬f (0)〉))

= 12√2(|0〉 (2 |f (0)〉 − 2 |¬f (0)〉))

= |0〉 (± 1√2(|0〉+ |1〉))

Si f (0) 6= f (1)= 1

2√2(|0〉 (|f (0)〉 − |¬f (0)〉 −

|f (0)〉+ |¬f (0)〉) + |1〉 (|f (0)〉 −|¬f (0)〉+ |f (0)〉 − |¬f (0)〉))= 1

2√2(|1〉 (2 |f (0)〉 − 2 |¬f (0)〉))

= |1〉 (± 1√2(|0〉+ |1〉))

Volver

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 221: Qlambda

ApéndiceDesarrollo del Algoritmo de DeutschFormalización del tx

AnexoDesarrollo del Algoritmo de Deutsch

|01〉 H(1,2)−→

12(|0〉+ |1〉)(|0〉 − |1〉) = 1

2(|00〉 − |01〉+ |10〉 − |11〉)Uf

−→12(Uf |00〉 − Uf |01〉+ Uf |10〉 − Uf |11〉)

= 12(|0, f (0)〉 − |0,¬f (0)〉+ |1, f (1)〉 − |1,¬f (1)〉)

= 12(|0〉 (|f (0)〉 − |¬f (0)〉) + |1〉 (|f (1)〉 − |¬f (1)〉))

H(1)−→

12√2((|0〉+|1〉)(|f (0)〉−|¬f (0)〉)+(|0〉−|1〉)(|f (1)〉−|¬f (1)〉))

Si f (0) = f (1)= 1

2√2(|0〉 (|f (0)〉 − |¬f (0)〉+

|f (0)〉 − |¬f (0)〉) + |1〉 (|f (0)〉 −|¬f (0)〉 − |f (0)〉+ |¬f (0)〉))= 1

2√2(|0〉 (2 |f (0)〉 − 2 |¬f (0)〉))

= |0〉 (± 1√2(|0〉+ |1〉))

Si f (0) 6= f (1)= 1

2√2(|0〉 (|f (0)〉 − |¬f (0)〉 −

|f (0)〉+ |¬f (0)〉) + |1〉 (|f (0)〉 −|¬f (0)〉+ |f (0)〉 − |¬f (0)〉))= 1

2√2(|1〉 (2 |f (0)〉 − 2 |¬f (0)〉))

= |1〉 (± 1√2(|0〉+ |1〉))

Volver

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 222: Qlambda

ApéndiceDesarrollo del Algoritmo de DeutschFormalización del tx

AnexoDesarrollo del Algoritmo de Deutsch

|01〉 H(1,2)−→

12(|0〉+ |1〉)(|0〉 − |1〉) = 1

2(|00〉 − |01〉+ |10〉 − |11〉)Uf

−→12(Uf |00〉 − Uf |01〉+ Uf |10〉 − Uf |11〉)

= 12(|0, f (0)〉 − |0,¬f (0)〉+ |1, f (1)〉 − |1,¬f (1)〉)

= 12(|0〉 (|f (0)〉 − |¬f (0)〉) + |1〉 (|f (1)〉 − |¬f (1)〉))

H(1)−→

12√2((|0〉+|1〉)(|f (0)〉−|¬f (0)〉)+(|0〉−|1〉)(|f (1)〉−|¬f (1)〉))

Si f (0) = f (1)= 1

2√2(|0〉 (|f (0)〉 − |¬f (0)〉+

|f (0)〉 − |¬f (0)〉) + |1〉 (|f (0)〉 −|¬f (0)〉 − |f (0)〉+ |¬f (0)〉))= 1

2√2(|0〉 (2 |f (0)〉 − 2 |¬f (0)〉))

= |0〉 (± 1√2(|0〉+ |1〉))

Si f (0) 6= f (1)= 1

2√2(|0〉 (|f (0)〉 − |¬f (0)〉 −

|f (0)〉+ |¬f (0)〉) + |1〉 (|f (0)〉 −|¬f (0)〉+ |f (0)〉 − |¬f (0)〉))= 1

2√2(|1〉 (2 |f (0)〉 − 2 |¬f (0)〉))

= |1〉 (± 1√2(|0〉+ |1〉))

Volver

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 223: Qlambda

ApéndiceDesarrollo del Algoritmo de DeutschFormalización del tx

AnexoDesarrollo del Algoritmo de Deutsch

|01〉 H(1,2)−→

12(|0〉+ |1〉)(|0〉 − |1〉) = 1

2(|00〉 − |01〉+ |10〉 − |11〉)Uf

−→12(Uf |00〉 − Uf |01〉+ Uf |10〉 − Uf |11〉)

= 12(|0, f (0)〉 − |0,¬f (0)〉+ |1, f (1)〉 − |1,¬f (1)〉)

= 12(|0〉 (|f (0)〉 − |¬f (0)〉) + |1〉 (|f (1)〉 − |¬f (1)〉))

H(1)−→

12√2((|0〉+|1〉)(|f (0)〉−|¬f (0)〉)+(|0〉−|1〉)(|f (1)〉−|¬f (1)〉))

Si f (0) = f (1)= 1

2√2(|0〉 (|f (0)〉 − |¬f (0)〉+

|f (0)〉 − |¬f (0)〉) + |1〉 (|f (0)〉 −|¬f (0)〉 − |f (0)〉+ |¬f (0)〉))= 1

2√2(|0〉 (2 |f (0)〉 − 2 |¬f (0)〉))

= |0〉 (± 1√2(|0〉+ |1〉))

Si f (0) 6= f (1)

= 12√2(|0〉 (|f (0)〉 − |¬f (0)〉 −

|f (0)〉+ |¬f (0)〉) + |1〉 (|f (0)〉 −|¬f (0)〉+ |f (0)〉 − |¬f (0)〉))= 1

2√2(|1〉 (2 |f (0)〉 − 2 |¬f (0)〉))

= |1〉 (± 1√2(|0〉+ |1〉))

Volver

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 224: Qlambda

ApéndiceDesarrollo del Algoritmo de DeutschFormalización del tx

AnexoDesarrollo del Algoritmo de Deutsch

|01〉 H(1,2)−→

12(|0〉+ |1〉)(|0〉 − |1〉) = 1

2(|00〉 − |01〉+ |10〉 − |11〉)Uf

−→12(Uf |00〉 − Uf |01〉+ Uf |10〉 − Uf |11〉)

= 12(|0, f (0)〉 − |0,¬f (0)〉+ |1, f (1)〉 − |1,¬f (1)〉)

= 12(|0〉 (|f (0)〉 − |¬f (0)〉) + |1〉 (|f (1)〉 − |¬f (1)〉))

H(1)−→

12√2((|0〉+|1〉)(|f (0)〉−|¬f (0)〉)+(|0〉−|1〉)(|f (1)〉−|¬f (1)〉))

Si f (0) = f (1)= 1

2√2(|0〉 (|f (0)〉 − |¬f (0)〉+

|f (0)〉 − |¬f (0)〉) + |1〉 (|f (0)〉 −|¬f (0)〉 − |f (0)〉+ |¬f (0)〉))= 1

2√2(|0〉 (2 |f (0)〉 − 2 |¬f (0)〉))

= |0〉 (± 1√2(|0〉+ |1〉))

Si f (0) 6= f (1)= 1

2√2(|0〉 (|f (0)〉 − |¬f (0)〉 −

|f (0)〉+ |¬f (0)〉) + |1〉 (|f (0)〉 −|¬f (0)〉+ |f (0)〉 − |¬f (0)〉))

= 12√2(|1〉 (2 |f (0)〉 − 2 |¬f (0)〉))

= |1〉 (± 1√2(|0〉+ |1〉))

Volver

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 225: Qlambda

ApéndiceDesarrollo del Algoritmo de DeutschFormalización del tx

AnexoDesarrollo del Algoritmo de Deutsch

|01〉 H(1,2)−→

12(|0〉+ |1〉)(|0〉 − |1〉) = 1

2(|00〉 − |01〉+ |10〉 − |11〉)Uf

−→12(Uf |00〉 − Uf |01〉+ Uf |10〉 − Uf |11〉)

= 12(|0, f (0)〉 − |0,¬f (0)〉+ |1, f (1)〉 − |1,¬f (1)〉)

= 12(|0〉 (|f (0)〉 − |¬f (0)〉) + |1〉 (|f (1)〉 − |¬f (1)〉))

H(1)−→

12√2((|0〉+|1〉)(|f (0)〉−|¬f (0)〉)+(|0〉−|1〉)(|f (1)〉−|¬f (1)〉))

Si f (0) = f (1)= 1

2√2(|0〉 (|f (0)〉 − |¬f (0)〉+

|f (0)〉 − |¬f (0)〉) + |1〉 (|f (0)〉 −|¬f (0)〉 − |f (0)〉+ |¬f (0)〉))= 1

2√2(|0〉 (2 |f (0)〉 − 2 |¬f (0)〉))

= |0〉 (± 1√2(|0〉+ |1〉))

Si f (0) 6= f (1)= 1

2√2(|0〉 (|f (0)〉 − |¬f (0)〉 −

|f (0)〉+ |¬f (0)〉) + |1〉 (|f (0)〉 −|¬f (0)〉+ |f (0)〉 − |¬f (0)〉))= 1

2√2(|1〉 (2 |f (0)〉 − 2 |¬f (0)〉))

= |1〉 (± 1√2(|0〉+ |1〉))

Volver

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 226: Qlambda

ApéndiceDesarrollo del Algoritmo de DeutschFormalización del tx

AnexoDesarrollo del Algoritmo de Deutsch

|01〉 H(1,2)−→

12(|0〉+ |1〉)(|0〉 − |1〉) = 1

2(|00〉 − |01〉+ |10〉 − |11〉)Uf

−→12(Uf |00〉 − Uf |01〉+ Uf |10〉 − Uf |11〉)

= 12(|0, f (0)〉 − |0,¬f (0)〉+ |1, f (1)〉 − |1,¬f (1)〉)

= 12(|0〉 (|f (0)〉 − |¬f (0)〉) + |1〉 (|f (1)〉 − |¬f (1)〉))

H(1)−→

12√2((|0〉+|1〉)(|f (0)〉−|¬f (0)〉)+(|0〉−|1〉)(|f (1)〉−|¬f (1)〉))

Si f (0) = f (1)= 1

2√2(|0〉 (|f (0)〉 − |¬f (0)〉+

|f (0)〉 − |¬f (0)〉) + |1〉 (|f (0)〉 −|¬f (0)〉 − |f (0)〉+ |¬f (0)〉))= 1

2√2(|0〉 (2 |f (0)〉 − 2 |¬f (0)〉))

= |0〉 (± 1√2(|0〉+ |1〉))

Si f (0) 6= f (1)= 1

2√2(|0〉 (|f (0)〉 − |¬f (0)〉 −

|f (0)〉+ |¬f (0)〉) + |1〉 (|f (0)〉 −|¬f (0)〉+ |f (0)〉 − |¬f (0)〉))= 1

2√2(|1〉 (2 |f (0)〉 − 2 |¬f (0)〉))

= |1〉 (± 1√2(|0〉+ |1〉))

Volver

Alejandro Díaz-Caro λ-Cálculo Cuántico

Page 227: Qlambda

ApéndiceDesarrollo del Algoritmo de DeutschFormalización del tx

AnexoFormalización del tx

De�nición

tx ≡ _ si x /∈ F (t)

(λy .t)x ≡ (_ tx)

(t t ′)x ≡ (tx t ′x)xx ≡ x

Volver

Alejandro Díaz-Caro λ-Cálculo Cuántico