{"id":7856,"date":"2022-12-04T07:38:14","date_gmt":"2022-12-04T06:38:14","guid":{"rendered":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/?p=7856"},"modified":"2022-12-04T07:38:45","modified_gmt":"2022-12-04T06:38:45","slug":"04-dic-22","status":"publish","type":"post","link":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/04-dic-22\/","title":{"rendered":"DAO: La semana en Calculemus (4 de diciembre de 2022)"},"content":{"rendered":"<p>Esta semana he publicado en <a href=\"https:\/\/www.glc.us.es\/~jalonso\/calculemus\/\">Calculemus<\/a> las demostraciones con Lean de las siguientes propiedades:<\/p>\n<ul>\n<li><a href=\"#ej1\">1. La suma de dos funciones acotadas superiormente tambi\u00e9n lo est\u00e1<\/a><\/li>\n<li><a href=\"#ej2\">2. La suma de dos funciones acotadas inferiormente tambi\u00e9n lo est\u00e1<\/a><\/li>\n<li><a href=\"#ej3\">3. Si c \u2265 0 y f est\u00e1 acotada superiormente, entonces c * f tambi\u00e9n lo est\u00e1<\/a><\/li>\n<li><a href=\"#ej4\">4. Si x e y son sumas de dos cuadrados, entonces xy tambi\u00e9n lo es<\/a><\/li>\n<li><a href=\"#ej5\">5. La relaci\u00f3n de divisibilidad es transitiva<\/a><\/li>\n<\/ul>\n<p>A continuaci\u00f3n se muestran las soluciones.<br \/>\n<!--more--><br \/>\n<a name=\"ej1\"><\/a><\/p>\n<h3>1. La suma de dos funciones acotadas superiormente tambi\u00e9n lo est\u00e1<\/h3>\n<p>Demostrar que la suma de dos funciones acotadas superiormente tambi\u00e9n lo est\u00e1.<\/p>\n<p>Para ello, completar la siguiente teor\u00eda de Lean:<\/p>\n<pre lang=\"lean\">\nimport data.real.basic\n\nvariables {f g : \u211d \u2192 \u211d}\nvariables {a b : \u211d}\n\n-- (cota_superior f a) se verifica si a es una cota superior de f.\ndef cota_superior (f : \u211d \u2192 \u211d) (a : \u211d) : Prop := \u2200 x, f x \u2264 a\n\n-- (acotada_sup f) afirma que f tiene cota superior.\ndef acotada_sup (f : \u211d \u2192 \u211d) := \u2203 a, cota_superior f a\n\nexample\n  (hf : acotada_sup f)\n  (hg : acotada_sup g)\n  : acotada_sup (f + g) :=\nsorry\n<\/pre>\n<p><!--more--><\/p>\n<p><b>Soluciones con Lean<\/b><\/p>\n<pre lang=\"lean\">\nimport data.real.basic\n\nvariables {f g : \u211d \u2192 \u211d}\nvariables {a b : \u211d}\n\n-- (cota_superior f a) se verifica si a es una cota superior de f.\ndef cota_superior (f : \u211d \u2192 \u211d) (a : \u211d) : Prop := \u2200 x, f x \u2264 a\n\n-- (acotada_sup f) afirma que f tiene cota superior.\ndef acotada_sup (f : \u211d \u2192 \u211d) := \u2203 a, cota_superior f a\n\n-- Lema auxiliar\n-- =============\n\nlemma cota_superior_suma\n  (hfa : cota_superior f a)\n  (hgb : cota_superior g b)\n  : cota_superior (f + g) (a + b) :=\n\u03bb x, add_le_add (hfa x) (hgb x)\n\n-- 1\u00aa demostraci\u00f3n\n-- ===============\n\nexample\n  (hf : acotada_sup f)\n  (hg : acotada_sup g)\n  : acotada_sup (f + g) :=\nbegin\n  cases hf with a hfa,\n  cases hg with b hgb,\n  have h3 : cota_superior (f + g) (a + b) :=\n    cota_superior_suma hfa hgb,\n  have h4 : \u2203 z, \u2200 x, (f + g) x \u2264 z,\n    by exact Exists.intro (a + b) h3,\n  show acotada_sup (f + g),\n    by exact h4,\nend\n\n-- 2\u00aa demostraci\u00f3n\n-- ===============\n\nexample\n  (hf : acotada_sup f)\n  (hg : acotada_sup g)\n  : acotada_sup (f + g) :=\nbegin\n  cases hf with a hfa,\n  cases hg with b hfb,\n  use a + b,\n  apply cota_superior_suma hfa hfb,\nend\n\n-- 3\u00aa demostraci\u00f3n\n-- ===============\n\nexample\n  (hf : acotada_sup f)\n  (hg : acotada_sup g)\n  : acotada_sup (f + g) :=\nbegin\n  rcases hf with \u27e8a, hfa\u27e9,\n  rcases hg with \u27e8b, hfb\u27e9,\n  exact \u27e8a + b, cota_superior_suma hfa hfb\u27e9\nend\n\n-- 4\u00aa demostraci\u00f3n\n-- ===============\n\nexample :\n  acotada_sup f \u2192 acotada_sup g \u2192 acotada_sup (f + g) :=\nbegin\n  rintros \u27e8a, hfa\u27e9 \u27e8b, hfb\u27e9,\n  exact \u27e8a + b, cota_superior_suma hfa hfb\u27e9,\nend\n\n-- 5\u00aa demostraci\u00f3n\n-- ===============\n\nexample :\n  acotada_sup f \u2192 acotada_sup g \u2192 acotada_sup (f + g) :=\n\u03bb \u27e8a, hfa\u27e9 \u27e8b, hfb\u27e9, \u27e8a + b, cota_superior_suma hfa hfb\u27e9\n<\/pre>\n<p>Se puede interactuar con la prueba anterior en <a href=\"https:\/\/leanprover-community.github.io\/lean-web-editor\/#url=https:\/\/raw.githubusercontent.com\/jaalonso\/Calculemus\/main\/src\/Suma_de_funciones_acotadas_superiormente.lean\" rel=\"noopener noreferrer\" target=\"_blank\">esta sesi\u00f3n con Lean<\/a>.<\/p>\n<p><b>Referencias<\/b><\/p>\n<ul>\n<li>J. Avigad, K. Buzzard, R.Y. Lewis y P. Massot. <a href=\"https:\/\/bit.ly\/3U4UjBk\">Mathematics in Lean<\/a>, p. 31.<\/li>\n<\/ul>\n<p><a name=\"ej2\"><\/a><\/p>\n<h3>2. La suma de dos funciones acotadas inferiormente tambi\u00e9n lo est\u00e1<\/h3>\n<p>Demostrar que la suma de dos funciones acotadas inferiormente tambi\u00e9n lo est\u00e1.<\/p>\n<p>Para ello, completar la siguiente teor\u00eda de Lean:<\/p>\n<pre lang=\"lean\">\nimport data.real.basic\n\nvariables {f g : \u211d \u2192 \u211d}\nvariables {a b : \u211d}\n\n-- (cota_inferior f a) se verifica si a es una cota inferior de f.\ndef cota_inferior (f : \u211d \u2192 \u211d) (a : \u211d) : Prop := \u2200 x, a \u2264 f x\n\n-- (acotada_inf f) se verifica si f tiene cota inferior.\ndef acotada_inf (f : \u211d \u2192 \u211d) := \u2203 a, cota_inferior f a\n\nexample\n  (hf : acotada_inf f)\n  (hg : acotada_inf g)\n  : acotada_inf (f + g) :=\nsorry\n<\/pre>\n<p><!--more--><\/p>\n<p><b>Soluciones con Lean<\/b><\/p>\n<pre lang=\"lean\">\nimport data.real.basic\n\nvariables {f g : \u211d \u2192 \u211d}\nvariables {a b : \u211d}\n\n-- (cota_inferior f a) se verifica si a es una cota inferior de f.\ndef cota_inferior (f : \u211d \u2192 \u211d) (a : \u211d) : Prop := \u2200 x, a \u2264 f x\n\n-- (acotada_inf f) se verifica si f tiene cota inferior.\ndef acotada_inf (f : \u211d \u2192 \u211d) := \u2203 a, cota_inferior f a\n\n-- Lema auxiliar\n-- =============\n\nlemma cota_inferior_add\n  (hfa : cota_inferior f a)\n  (hgb : cota_inferior g b)\n  : cota_inferior (f + g) (a + b) :=\n\u03bb x, add_le_add (hfa x) (hgb x)\n\n-- 1\u00aa demostraci\u00f3n\n-- ===============\n\nexample\n  (hf : acotada_inf f)\n  (hg : acotada_inf g)\n  : acotada_inf (f + g) :=\nbegin\n  cases hf with a ha,\n  cases hg with b hb,\n  have h1 : cota_inferior (f + g) (a + b) := cota_inferior_add ha hb,\n  have h2 : \u2203 z, \u2200 x, z \u2264 (f + g) x :=\n    by exact Exists.intro (a + b) h1,\n  show acotada_inf (f + g),\n    by exact h2,\nend\n\n-- 2\u00aa demostraci\u00f3n\n-- ===============\n\nexample\n  (hf : acotada_inf f)\n  (hg : acotada_inf g)\n  : acotada_inf (f + g) :=\nbegin\n  cases hf with a hfa,\n  cases hg with b hgb,\n  use a + b,\n  apply cota_inferior_add hfa hgb,\nend\n\n-- 3\u00aa demostraci\u00f3n\n-- ===============\n\nexample\n  (hf : acotada_inf f)\n  (hg : acotada_inf g)\n  : acotada_inf (f + g) :=\nbegin\n  rcases hf with \u27e8a, hfa\u27e9,\n  rcases hg with \u27e8b, hfb\u27e9,\n  exact \u27e8a + b, cota_inferior_add hfa hfb\u27e9,\nend\n\n-- 4\u00aa demostraci\u00f3n\n-- ===============\n\nexample :\n  acotada_inf f \u2192 acotada_inf g \u2192 acotada_inf (f + g) :=\nbegin\n  rintros \u27e8a, hfa\u27e9 \u27e8b, hfb\u27e9,\n  exact \u27e8a + b, cota_inferior_add hfa hfb\u27e9,\nend\n\n-- 5\u00aa demostraci\u00f3n\n-- ===============\n\nexample :\n  acotada_inf f \u2192 acotada_inf g \u2192 acotada_inf (f + g) :=\n\u03bb \u27e8a, hfa\u27e9 \u27e8b, hfb\u27e9, \u27e8a + b, cota_inferior_add hfa hfb\u27e9\n<\/pre>\n<p>Se puede interactuar con la prueba anterior en <a href=\"https:\/\/leanprover-community.github.io\/lean-web-editor\/#url=https:\/\/raw.githubusercontent.com\/jaalonso\/Calculemus\/main\/src\/Suma_de_funciones_acotadas_inferiormente.lean\" rel=\"noopener noreferrer\" target=\"_blank\">esta sesi\u00f3n con Lean<\/a>.<\/p>\n<p><b>Referencias<\/b><\/p>\n<ul>\n<li>J. Avigad, K. Buzzard, R.Y. Lewis y P. Massot. <a href=\"https:\/\/bit.ly\/3U4UjBk\">Mathematics in Lean<\/a>, p. 31.<\/li>\n<\/ul>\n<p><a name=\"ej3\"><\/a><\/p>\n<h3>3. Si c \u2265 0 y f est\u00e1 acotada superiormente, entonces c * f tambi\u00e9n lo est\u00e1<\/h3>\n<p>Demostrar que si c \u2265 0 y f est\u00e1 acotada superiormente, entonces c * f tambi\u00e9n lo est\u00e1.<\/p>\n<p>Para ello, completar la siguiente teor\u00eda de Lean:<\/p>\n<pre lang=\"lean\">\nimport data.real.basic\n\nvariables {f : \u211d \u2192 \u211d}\nvariables {a c : \u211d}\n\n-- (cota_superior f a) se verifica si a es una cota superior de f.\ndef cota_superior (f : \u211d \u2192 \u211d) (a : \u211d) : Prop := \u2200 x, f x \u2264 a\n\n-- (acotada_sup f) se verifica si f tiene cota superior.\ndef acotada_sup (f : \u211d \u2192 \u211d) := \u2203 a, cota_superior f a\n\nexample\n  (hf : acotada_sup f)\n  (h : c \u2265 0)\n  : acotada_sup (\u03bb x, c * f x) :=\nsorry\n<\/pre>\n<p><!--more--><\/p>\n<p><b>Soluciones con Lean<\/b><\/p>\n<pre lang=\"lean\">\nimport data.real.basic\n\nvariables {f : \u211d \u2192 \u211d}\nvariables {a c : \u211d}\n\n-- (cota_superior f a) se verifica si a es una cota superior de f.\ndef cota_superior (f : \u211d \u2192 \u211d) (a : \u211d) : Prop := \u2200 x, f x \u2264 a\n\n-- (acotada_sup f) se verifica si f tiene cota superior.\ndef acotada_sup (f : \u211d \u2192 \u211d) := \u2203 a, cota_superior f a\n\n-- Lema auxiliar\n-- ============\n\nlemma cota_superior_mul\n  (hfa : cota_superior f a)\n  (h : c \u2265 0)\n  : cota_superior (\u03bb x, c * f x) (c * a) :=\n\u03bb x, mul_le_mul_of_nonneg_left (hfa x) h\n\n-- 1\u00aa demostraci\u00f3n\n-- ===============\n\nexample\n  (hf : acotada_sup f)\n  (h : c \u2265 0)\n  : acotada_sup (\u03bb x, c * f x) :=\nbegin\n  cases hf with a ha,\n  have h1 : cota_superior (\u03bb x, c * f x) (c * a) := cota_superior_mul ha h,\n  have h2 : \u2203 z, \u2200 x, (\u03bb x, c * f x) x \u2264 z,\n    by exact Exists.intro (c * a) h1,\n  show acotada_sup (\u03bb x, c * f x),\n    by exact h2,\nend\n\n-- 2\u00aa demostraci\u00f3n\n-- ===============\n\nexample\n  (hf : acotada_sup f)\n  (h : c \u2265 0)\n  : acotada_sup (\u03bb x, c * f x) :=\nbegin\n  cases hf with a ha,\n  use c * a,\n  apply cota_superior_mul ha h,\nend\n\n-- 3\u00aa demostraci\u00f3n\n-- ===============\n\nexample\n  (hf : acotada_sup f)\n  (h : c \u2265 0)\n  : acotada_sup (\u03bb x, c * f x) :=\nbegin\n  rcases hf with \u27e8a, ha\u27e9,\n  exact \u27e8c * a, cota_superior_mul ha h\u27e9,\nend\n\n-- 4\u00aa demostraci\u00f3n\n-- ===============\n\nexample\n  (h : c \u2265 0)\n  : acotada_sup f \u2192 acotada_sup (\u03bb x, c * f x) :=\nbegin\n  rintro \u27e8a, ha\u27e9,\n  exact \u27e8c * a, cota_superior_mul ha h\u27e9,\nend\n\n-- 5\u00aa demostraci\u00f3n\n-- ===============\n\nexample\n  (h : c \u2265 0)\n  : acotada_sup f \u2192 acotada_sup (\u03bb x, c * f x) :=\n\u03bb \u27e8a, ha\u27e9, \u27e8c * a, cota_superior_mul ha h\u27e9\n<\/pre>\n<p>Se puede interactuar con la prueba anterior en <a href=\"https:\/\/leanprover-community.github.io\/lean-web-editor\/#url=https:\/\/raw.githubusercontent.com\/jaalonso\/Calculemus\/main\/src\/Producto_por_funcion_acotada_superiormente.lean\" rel=\"noopener noreferrer\" target=\"_blank\">esta sesi\u00f3n con Lean<\/a>.<\/p>\n<p><b>Referencias<\/b><\/p>\n<ul>\n<li>J. Avigad, K. Buzzard, R.Y. Lewis y P. Massot. <a href=\"https:\/\/bit.ly\/3U4UjBk\">Mathematics in Lean<\/a>, p. 31.<\/li>\n<\/ul>\n<p><a name=\"ej4\"><\/a><\/p>\n<h3>4. Si x e y son sumas de dos cuadrados, entonces xy tambi\u00e9n lo es<\/h3>\n<p>Demostrar que si x e y son sumas de dos cuadrados, entonces xy tambi\u00e9n lo es.<\/p>\n<p>Para ello, completar la siguiente teor\u00eda de Lean:<\/p>\n<pre lang=\"lean\">\nimport tactic\nvariables {\u03b1 : Type*} [comm_ring \u03b1]\nvariables {x y : \u03b1}\n\n-- (es_suma_de_cuadrados x) se verifica si x se puede escribir como la\n-- suma de dos cuadrados.\ndef es_suma_de_cuadrados (x : \u03b1) := \u2203 a b, x = a^2 + b^2\n\nexample\n  (hx : es_suma_de_cuadrados x)\n  (hy : es_suma_de_cuadrados y)\n  : es_suma_de_cuadrados (x * y) :=\nsorry\n<\/pre>\n<p><!--more--><\/p>\n<p><b>Soluciones con Lean<\/b><\/p>\n<pre lang=\"lean\">\nimport tactic\nvariables {\u03b1 : Type*} [comm_ring \u03b1]\nvariables {x y : \u03b1}\n\n-- (es_suma_de_cuadrados x) se verifica si x se puede escribir como la\n-- suma de dos cuadrados.\ndef es_suma_de_cuadrados (x : \u03b1) := \u2203 a b, x = a^2 + b^2\n\n-- 1\u00aa demostraci\u00f3n\n-- ===============\n\nexample\n  (hx : es_suma_de_cuadrados x)\n  (hy : es_suma_de_cuadrados y)\n  : es_suma_de_cuadrados (x * y) :=\nbegin\n  rcases hx with \u27e8a, b, hab : x = a^2 + b^2\u27e9,\n  rcases hy with \u27e8c, d, hcd : y = c^2 + d^2\u27e9,\n  have h1: x * y = (a*c - b*d)^2 + (a*d + b*c)^2,\n    calc x * y\n         = (a^2 + b^2) * (c^2 + d^2)     : by rw [hab, hcd]\n     ... = (a*c - b*d)^2 + (a*d + b*c)^2 : by ring,\n  have h2 : \u2203 f, x * y = (a*c - b*d)^2 + f^2,\n    by exact Exists.intro (a*d + b*c) h1,\n  have h3 : \u2203 e f, x * y = e^2 + f^2,\n    by exact Exists.intro (a*c - b*d) h2,\n  show es_suma_de_cuadrados (x * y),\n    by exact h3,\nend\n\n-- 2\u00aa demostraci\u00f3n\n-- ===============\n\nexample\n  (hx : es_suma_de_cuadrados x)\n  (hy : es_suma_de_cuadrados y)\n  : es_suma_de_cuadrados (x * y) :=\nbegin\n  rcases hx with \u27e8a, b, hab : x = a^2 + b^2\u27e9,\n  rcases hy with \u27e8c, d, hcd : y = c^2 + d^2\u27e9,\n  have h1: x * y = (a*c - b*d)^2 + (a*d + b*c)^2,\n    calc x * y\n         = (a^2 + b^2) * (c^2 + d^2)     : by rw [hab, hcd]\n     ... = (a*c - b*d)^2 + (a*d + b*c)^2 : by ring,\n  have h2 : \u2203 e f, x * y = e^2 + f^2,\n    by tauto,\n  show es_suma_de_cuadrados (x * y),\n    by exact h2,\nend\n\n-- 3\u00aa demostraci\u00f3n\n-- ===============\n\nexample\n  (hx : es_suma_de_cuadrados x)\n  (hy : es_suma_de_cuadrados y)\n  : es_suma_de_cuadrados (x * y) :=\nbegin\n  rcases hx with \u27e8a, b, hab\u27e9,\n  rcases hy with \u27e8c, d, hcd\u27e9,\n  rw [hab, hcd],\n  use [a*c - b*d, a*d + b*c],\n  ring,\nend\n\n-- 3\u00aa demostraci\u00f3n\n-- ===============\n\nexample\n  (hx : es_suma_de_cuadrados x)\n  (hy : es_suma_de_cuadrados y)\n  : es_suma_de_cuadrados (x * y) :=\nbegin\n  rcases hx with \u27e8a, b, rfl\u27e9,\n  rcases hy with \u27e8c, d, rfl\u27e9,\n  use [a*c - b*d, a*d + b*c],\n  ring\nend\n<\/pre>\n<p>Se puede interactuar con la prueba anterior en <a href=\"https:\/\/leanprover-community.github.io\/lean-web-editor\/#url=https:\/\/raw.githubusercontent.com\/jaalonso\/Calculemus\/main\/src\/Producto_de_suma_de_cuadrados.lean\" rel=\"noopener noreferrer\" target=\"_blank\">esta sesi\u00f3n con Lean<\/a>.<\/p>\n<p><b>Referencias<\/b><\/p>\n<ul>\n<li>J. Avigad, K. Buzzard, R.Y. Lewis y P. Massot. <a href=\"https:\/\/bit.ly\/3U4UjBk\">Mathematics in Lean<\/a>, p. 32.<\/li>\n<\/ul>\n<p><a name=\"ej5\"><\/a><\/p>\n<h3>5. La relaci\u00f3n de divisibilidad es transitiva<\/h3>\n<p>Demostrar que la relaci\u00f3n de divisibilidad es transitiva.<\/p>\n<p>Para ello, completar la siguiente teor\u00eda de Lean:<\/p>\n<pre lang=\"lean\">\nimport tactic\n\nvariables {a b c : \u2115}\n\nexample\n  (hab : a \u2223 b)\n  (hbc : b \u2223 c)\n  : a \u2223 c :=\nsorry\n<\/pre>\n<p><!--more--><\/p>\n<p><b>Soluciones con Lean<\/b><\/p>\n<pre lang=\"lean\">\nimport tactic\n\nvariables {a b c : \u2115}\n\n-- 1\u00aa demostraci\u00f3n\n-- ===============\n\nexample\n  (hab : a \u2223 b)\n  (hbc : b \u2223 c)\n  : a \u2223 c :=\nbegin\n  rcases hab with \u27e8d, hd : b = a * d\u27e9,\n  rcases hbc with \u27e8e, he : c = b * e\u27e9,\n  have h1 : c = a * (d * e),\n    calc c = b * e       : he\n       ... = (a * d) * e : congr_arg (* e) hd\n       ... = a * (d * e) : mul_assoc a d e,\n  show a \u2223 c,\n    by exact dvd.intro (d * e) (eq.symm h1),\nend\n\n-- 2\u00aa demostraci\u00f3n\n-- ===============\n\nexample\n  (hab : a \u2223 b)\n  (hbc : b \u2223 c)\n  : a \u2223 c :=\nbegin\n  cases hab with d hd,\n  cases hbc with e he,\n  rw [he, hd],\n  use (d * e),\n  exact mul_assoc a d e,\nend\n\n-- 3\u00aa demostraci\u00f3n\n-- ===============\n\nexample\n  (hab : a \u2223 b)\n  (hbc : b \u2223 c)\n  : a \u2223 c :=\nbegin\n  rcases hbc with \u27e8e, rfl\u27e9,\n  rcases hab with \u27e8d, rfl\u27e9,\n  use (d * e),\n  ring,\nend\n\n-- 4\u00aa demostraci\u00f3n\n-- ===============\n\nexample\n  (hab : a \u2223 b)\n  (hbc : b \u2223 c)\n  : a \u2223 c :=\n-- by library_search\ndvd_trans hab hbc\n<\/pre>\n<p>Se puede interactuar con la prueba anterior en <a href=\"https:\/\/leanprover-community.github.io\/lean-web-editor\/#url=https:\/\/raw.githubusercontent.com\/jaalonso\/Calculemus\/main\/src\/Transitividad_de_la_divisibilidad.lean\" rel=\"noopener noreferrer\" target=\"_blank\">esta sesi\u00f3n con Lean<\/a>.<\/p>\n<p><b>Referencias<\/b><\/p>\n<ul>\n<li>J. Avigad, K. Buzzard, R.Y. Lewis y P. Massot. <a href=\"https:\/\/bit.ly\/3U4UjBk\">Mathematics in Lean<\/a>, p. 32.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Esta semana he publicado en Calculemus las demostraciones con Lean de las siguientes propiedades: 1. La suma de dos funciones acotadas superiormente tambi\u00e9n lo est\u00e1 2. La suma de dos funciones acotadas inferiormente tambi\u00e9n lo est\u00e1 3. Si c \u2265 0 y f est\u00e1 acotada superiormente, entonces c * f tambi\u00e9n lo est\u00e1 4. Si&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"footnotes":"","_jetpack_memberships_contains_paid_content":false},"categories":[335],"tags":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_likes_enabled":false,"_links":{"self":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/posts\/7856"}],"collection":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/comments?post=7856"}],"version-history":[{"count":2,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/posts\/7856\/revisions"}],"predecessor-version":[{"id":7858,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/posts\/7856\/revisions\/7858"}],"wp:attachment":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/media?parent=7856"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/categories?post=7856"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/tags?post=7856"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}